Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  make_doc.in   Sprache: unbekannt

 
#!/usr/bin/env bash

set -e
set -o pipefail

GAP=@abs_top_builddir@/gap
GAPARGS="-b -m 1g -x 80 -q --quitonbreak"
if [ "$1" == "nopdf" ]; then
  NOPDF=", \"nopdf\""
else
  NOPDF=""
fi
echo "--------------------"
echo "Building GAP manuals"
echo "--------------------"

"$GAP" $GAPARGS -A <<EOF
base:="@abs_top_srcdir@";;
books:=["ref", "tut", "hpc", "dev"];;
latexOpts := rec(Maintitlesize := "\\\\fontsize{36}{38}\\\\selectfont");;
UpdateXMLForUserPreferences();
for run in [1,2] do
  # collect output messages separately in both runs
  outputstring:= "";;
  outputstream:= OutputTextString(outputstring, true);;
  SetPrintFormattingStatus(outputstream, false);
  SetInfoOutput(InfoGAPDoc, outputstream);
  SetInfoOutput(InfoWarning, outputstream);

  for book in books do
    path := Concatenation(base, "/doc/", book);
    dir := Directory(path);

    # skip over missing manuals
    if not IsDirectoryPath(path) then
        continue;
    fi;

    AppendTo(outputstream, "----------------------------\n");
    AppendTo(outputstream, "Building GAP manual '",book,"' at ",path,"\n");
    AppendTo(outputstream, "Run ",run," of 2\n");
    AppendTo(outputstream, "----------------------------\n");

    # for the reference manual, extra list of source files to scan
    if book = "ref" then
        f := Filename(dir, "makedocreldata.g");
        Read(f);
        files := GAPInfo.ManualDataRef.files;
    else
        files := [];
    fi;

    if run = 2 then
        # create black&white version of manual (but only on second run)
        SetGapDocLaTeXOptions("nocolor", latexOpts);
        MakeGAPDocDoc( path, "main.xml", files, book, "../..", "MathJax" $NOPDF );;

        # Rename the generated black&white PDF
        f1 := Filename(dir, "manual.pdf");
        f2 := Filename(dir, "manual-bw.pdf");
        Exec(Concatenation("mv -f ", f1, " ", f2));

        # convert manual.six to manual.lab, to allow old-style package manuals
        # to reference the manual
        GAPDocManualLabFromSixFile( book, Filename(dir, "manual.six") );;

        #
        CopyHTMLStyleFiles(dir);
    fi;

    # create manuals with color
    SetGapDocLaTeXOptions("color", latexOpts);
    MakeGAPDocDoc( path, "main.xml", files, book, "../..", "MathJax" $NOPDF);;
  od;

  CloseStream(outputstream);
  UnbindInfoOutput(InfoGAPDoc);
  UnbindInfoOutput(InfoWarning);
  Print(outputstring);
od;

# evaluate the outputs for the second run
outputstring:= ReplacedString(outputstring, "\c", "");;
errors:= Filtered(SplitString(outputstring, "\n"),
           x -> StartsWith(x, "#W ") and x <> "#W There are overfull boxes:");;
if Length(errors) = 0 then
  QuitGap(true);
else
  Print(errors, "\n");
  QuitGap(false);
fi;
EOF

[ Dauer der Verarbeitung: 0.5 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge