-/*! \page publis Publications
+/*! \page publis Reference publications about SimGrid
-\section pub_reference Reference publication about SimGrid
When citing SimGrid, the prefered reference paper is <i>Scheduling
Distributed Applications: the SimGrid Simulation Framework</i>, even if it's
Parallel and Distributed Computing and Systems (PDCS 2006)\n
http://www.loria.fr/~quinson/articles/gras-iasted06.pdf
-\section pub_simulation Other publications about the SimGrid framework
+\section publis_others Other publications
+
+A lot of other papers where published about SimGrid. The list is
+splited in 3 pages (also accessible from the navbar on top of this page):
+ - \ref publis_core\n
+ This section contains papers describing some sub-parts of SimGrid,
+ or references superseeded by the one given above.
+ - \ref publis_extern\n
+ SimGrid is used by an ever growing scientific community. This
+ section lists all the papers resulting of works in which the core
+ SimGrid team were not involved.
+ - \ref publis_intra\n
+ This section lists the paper co-signed by at least one of the core
+ team member, and using SimGrid as a tool (and not studying SimGrid
+ itself).
+
+\section publis_count Amount of published papers using SimGrid results
+<table>
+ <tr><td>Year</td><td>external</td><td>internal</td></tr>
+ <tr><td>2007</td><td>3</td><td>1</td></tr>
+ <tr><td>2006</td><td>8</td><td>3</td></tr>
+ <tr><td>2005</td><td>2</td><td>-</td></tr>
+ <tr><td>2004</td><td>5</td><td>2</td></tr>
+ <tr><td>2003</td><td>3</td><td>2</td></tr>
+ <tr><td>2002</td><td>-</td><td>1</td></tr>
+ <tr><td>2001</td><td>-</td><td>1</td></tr>
+ <tr><td>2000</td><td>-</td><td>1</td></tr>
+</table>
+
+\page publis_core Other publications about the SimGrid framework
\li <b>Speed and Accuracy of Network Simulation in the SimGrid Framework</b>\n
by <em>K. Fujiwara, H. Casanova</em>\n
functionalities.\n
http://grail.sdsc.edu/papers/simgrid_ccgrid01.ps.gz
-\section pub_ext Papers that use SimGrid-generated results (not counting our owns)
+\page publis_extern Papers that use SimGrid-generated results (not counting our owns)
This list is a selection of articles. We list only papers written by people
external to the development group, but we also use our tool ourselves (see
by <em>E. Caron, F. Desprez, F. Petit, V. Villain</em>\n
in the 17th International Parallel and Distributed Processing Symposium -- IPDPS'03, Nice - France, April 2003.
-\section pub_self Our own papers that use SimGrid-generated results
+\page publis_intra Our own papers that use SimGrid-generated results
This list is a selection of the articles we have written that used results
generated by SimGrid.
use strict;
# Add here the pages of the documentation generated by a @page doxygen macro
-my @extra_files = qw(html/index.html html/faq.html html/history.html html/publis.html html/pages.html html/modules.html html/contrib.html index.php html/GRAS_tut.html);
+my @extra_files = qw(html/index.html html/faq.html html/history.html
+ html/publis.html html/publis_core.html html/publis_extern.html html/publis_intra.html
+ html/pages.html html/modules.html html/contrib.html index.php
+ html/GRAS_tut.html);
# GRAS tutorial
map {push @extra_files, "html/GRAS_tut_$_.html"} qw (intro
close IN;
rename("html/modules.new.html","html/modules.html") unless $debug{'rename'};
+# the publication pages deserves some special handling too
+my %pub_tabs = ("publis.html" =>"Reference publications",
+ "publis_core.html" =>"Other publication about SimGrid",
+ "publis_extern.html"=>"External papers using SimGrid",
+ "publis_intra.html"=>"Internal papers using SimGrid");
+# force ordering
+my @pub_titles = ("publis.html", "publis_core.html", "publis_extern.html", "publis_intra.html");
+sub handle_pub{
+ my $oldname = shift;
+ my $newname = $oldname;
+ $newname =~ s/\.html$/.new.html/;
+
+# print "Handle_pub($oldname -> $newname)\n";
+
+ open IN,"html/$oldname" || die "Cannot open $oldname";
+ open OUT,">html/$newname" || die "Cannot open $newname";
+ my $line;
+ while ($line = <IN>) {
+ last if $line =~ /<h1>/;
+ print OUT $line;
+ }
+
+ print OUT "<div class=\"tabs\">\n <ul>\n";
+ foreach my $page (@pub_titles) {
+ print OUT " <li".($page eq $oldname? " class=\"current\"":"" )."> <a href=\"$page\"><span>".($pub_tabs{$page})."</span></a></li>\n";
+ }
+
+ print OUT " </ul></div>\n";
+ print OUT $line;
+ while ($line = <IN>) {
+ print OUT $line;
+ }
+ close OUT;
+ close IN;
+ rename("html/$newname","html/$oldname") unless $debug{'rename'};
+}
+map {handle_pub($_)} @pub_titles;
+
+
# Operate the recursion
sub handle_page {
my $current=shift;
### Post-processsing common to all pages
###
map {push @allfiles,$_} @extra_files;
+print "All files: ".(join(", ",@allfiles))."\n" if $debug{'parse'};
foreach my $file (@allfiles) {
$file =~ s/.html/.handlepage.html/ if $debug{'rename'}; # Take right name if debugging
next;
}
if (m,<li><a href="(doc/)?annotated.html"><span>Data\ Structures</span></a></li>,) {
- print TO ' <li'.($file =~ m,(doc/)?publis.html, ? " class='current'" :"").'><a href="'.$1.'publis.html"><span>Publications</span></a></li>'."\n";
+ print TO ' <li'.($file =~ m,(doc/)?publis(_[^.]*)?.html, ? " class='current'" :"").'><a href="'.$1.'publis.html"><span>Publications</span></a></li>'."\n";
print TO ' <li'.($file =~ m,(doc/)?history.html, ? " class='current'" :"").'><a href="'.$1.'history.html"><span>History</span></a></li>'."\n";
next;
}