File: makedoc.g

package info (click to toggle)
gap-primgrp 3.3.2-1
  • links: PTS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 41,528 kB
  • sloc: xml: 5,380; makefile: 125; sh: 65
file content (75 lines) | stat: -rw-r--r-- 2,550 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
###########################################################################
##
#W makedoc.g               The PrimGrp package          Alexander Konovalov
##
###########################################################################

ExtractMyManualExamples:=function( pkgname, main, files )
local path, tst, i, s, basename, name, output, ch, a, comment;
path:=Directory( 
        Concatenation(PackageInfo(pkgname)[1].InstallationPath, "/doc") );
Print("Extracting manual examples for ", pkgname, " package ...\n" );
tst:=ExtractExamples( path, main, files, "Chapter" );
Print(Length(tst), " chapters detected\n");
for i in [ 1 .. Length(tst) ] do 
  Print( "Chapter ", i, " : \c" );
  if Length( tst[i] ) > 0 then
    s := String(i);
    if Length(s)=1 then 
      # works for <100 chapters
      s:=Concatenation("0",s); 
    fi;
    basename:=Concatenation( LowercaseString(pkgname), s, ".tst" );
    name := Filename( 
              Directory( 
                Concatenation( PackageInfo(pkgname)[1].InstallationPath, 
                               "/tst/manualexamples" ) ), basename );
    output := OutputTextFile( name, false ); # to empty the file first
    SetPrintFormattingStatus( output, false ); # to avoid line breaks
    ch := tst[i];
    AppendTo(output, "# ", pkgname, ", chapter ",i,"\n");
    AppendTo(output, "gap> START_TEST( \"", basename, "\");\n");
    for a in ch do
      comment := a[2][1]{[PositionSublist(a[2][1],LowercaseString(pkgname))..Length(a[2][1])]};
      AppendTo(output, "\n# ", comment, ":", a[2][2], "-", a[2][3], a[1]);
    od;
    AppendTo(output, "gap> STOP_TEST(\"", basename, "\", 1 );\n");
    Print("extracted ", Length(ch), " examples \n");
  else
    Print("no examples \n" );    
  fi;  
od;
end;

###########################################################################

PRIMGRPMANUALFILES:=[ 
"../PackageInfo.g",
"../lib/irredsol.gd",
"../lib/primitiv.gd",
];

###########################################################################
##
##  PRIMGRPBuildManual()
##
PRIMGRPBuildManual := function()
local path, main, files, bookname;
path:="doc";
main:="manual.xml";
bookname:="primgrp";
MakeGAPDocDoc( path, main, PRIMGRPMANUALFILES, bookname, "../../..", "MathJax" );  
CopyHTMLStyleFiles( path );
GAPDocManualLab( "primgrp" );; 
ExtractMyManualExamples( "primgrp", main, PRIMGRPMANUALFILES);
end;


###########################################################################

PRIMGRPBuildManual();

###########################################################################
##
#E
##