Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183461[1XB [33X[0;0YThe File [11Xgapdoc.dtd[111X[101X[1X[133X[101X23[33X[0;0YFor easier reference we repeat here the complete content of the file4[11Xgapdoc.dtd[111X.[133X56[4X[32X gapdoc.dtd [32X[104X7[4X<?xml version="1.0" encoding="UTF-8"?>[104X8[4X<!-- ==================================================================[104X9[4X gapdoc.dtd - XML Document type definition for GAP documentation[104X10[4X By Frank Lübeck and Max Neunhöffer[104X11[4X ================================================================== -->[104X12[4X[104X13[4X[104X14[4X<!-- Note that this definition goes "bottom-up" because entities can only[104X15[4X be used after their definition in the file. -->[104X16[4X[104X17[4X[104X18[4X<!-- ==================================================================[104X19[4X Some entities:[104X20[4X ================================================================== -->[104X21[4X[104X22[4X<!-- The standard XML entities: -->[104X23[4X[104X24[4X<!ENTITY lt "&#60;"> [104X25[4X<!ENTITY gt ">"> [104X26[4X<!ENTITY amp "&#38;"> [104X27[4X<!ENTITY apos "'"> [104X28[4X<!ENTITY quot """>[104X29[4X[104X30[4X[104X31[4X<!-- The following were introduced in GAPDoc version < 1.0, it is no longer[104X32[4X necessary to take care of LaTeX special characters[104X33[4X (we keep the entities with simplified definitions for compatibility) -->[104X34[4X [104X35[4X<!ENTITY tamp "&">[104X36[4X<!ENTITY tlt "<">[104X37[4X<!ENTITY tgt ">">[104X38[4X<!ENTITY hash "#">[104X39[4X<!ENTITY dollar "$">[104X40[4X<!ENTITY percent "%">[104X41[4X<!ENTITY tilde "~">[104X42[4X<!ENTITY bslash "\\">[104X43[4X<!ENTITY obrace "{">[104X44[4X<!ENTITY cbrace "}">[104X45[4X<!ENTITY uscore "_">[104X46[4X<!ENTITY circum "^">[104X47[4X[104X48[4X<!-- ==================================================================[104X49[4X Our predefined entities:[104X50[4X ================================================================== -->[104X51[4X[104X52[4X<!ENTITY nbsp " ">[104X53[4X<!ENTITY ndash "–">[104X54[4X<!ENTITY GAP "<Package>GAP</Package>">[104X55[4X<!ENTITY GAPDoc "<Package>GAPDoc</Package>">[104X56[4X<!ENTITY TeX [104X57[4X "<Alt Only='LaTeX'>{\TeX}</Alt><Alt Not='LaTeX'>TeX</Alt>">[104X58[4X<!ENTITY LaTeX [104X59[4X "<Alt Only='LaTeX'>{\LaTeX}</Alt><Alt Not='LaTeX'>LaTeX</Alt>">[104X60[4X<!ENTITY BibTeX [104X61[4X "<Alt Only='LaTeX'>{Bib\TeX}</Alt><Alt Not='LaTeX'>BibTeX</Alt>">[104X62[4X<!ENTITY MeatAxe "<Package>MeatAxe</Package>">[104X63[4X<!ENTITY XGAP "<Package>XGAP</Package>">[104X64[4X<!ENTITY copyright "©">[104X65[4X[104X66[4X<!-- and unicode math symbols -->[104X67[4X<!ENTITY CC "ℂ" > <!-- double struck -->[104X68[4X<!ENTITY ZZ "ℤ" >[104X69[4X<!ENTITY NN "ℕ" >[104X70[4X<!ENTITY PP "ℙ" >[104X71[4X<!ENTITY QQ "ℚ" >[104X72[4X<!ENTITY HH "ℍ" >[104X73[4X<!ENTITY RR "ℝ" >[104X74[4X[104X75[4X[104X76[4X<!-- ==================================================================[104X77[4X The following describes the "innermost" documentation text which [104X78[4X can occur at various places in the document like for example[104X79[4X section headings. It does neither contain further sectioning [104X80[4X elements nor environments like Enums or Lists. [104X81[4X ================================================================== -->[104X82[4X[104X83[4X<!ENTITY % InnerText "#PCDATA |[104X84[4X Alt |[104X85[4X Emph | E |[104X86[4X Par | P | Br |[104X87[4X Keyword | K | Arg | A | Quoted | Q | Code | C | [104X88[4X File | F | Button | B | Package |[104X89[4X M | Math | Display | [104X90[4X Example | Listing | Log | Verb |[104X91[4X URL | Email | Homepage | Address | Cite | Label | [104X92[4X Ref | Index |[104X93[4X Ignore" >[104X94[4X[104X95[4X[104X96[4X<!ELEMENT Alt (%InnerText;)*> <!-- This is only to allow "Only" and[104X97[4X "Not" attributes for normal text -->[104X98[4X<!ATTLIST Alt Only CDATA #IMPLIED[104X99[4X Not CDATA #IMPLIED>[104X100[4X[104X101[4X<!-- The following elements declare a certain block of InnerText to[104X102[4X have a certain property. They are non-terminal and can contain[104X103[4X any InnerText recursively. -->[104X104[4X[104X105[4X<!ELEMENT Emph (%InnerText;)*> <!-- Emphasize something -->[104X106[4X<!ELEMENT E (%InnerText;)*> <!-- the same as shortcut -->[104X107[4X[104X108[4X[104X109[4X<!-- The following is an empty element marking a paragraph boundary. -->[104X110[4X[104X111[4X<!ELEMENT Par EMPTY> <!-- this is intentionally empty! -->[104X112[4X<!ELEMENT P EMPTY> <!-- the same as shortcut -->[104X113[4X[104X114[4X<!-- And here is an element for forcing a line break, not starting[104X115[4X a new paragraph. -->[104X116[4X[104X117[4X<!ELEMENT Br EMPTY> <!-- a forced line break -->[104X118[4X[104X119[4X<!-- The following elements mark a word or sentence to be of a certain[104X120[4X kind, such that it can be typeset differently. They are terminal[104X121[4X elements that should only contain character data. But we have to[104X122[4X allow Alt elements for handling special characters. For these[104X123[4X elements we introduce a long name - which is easy to remember -[104X124[4X and a short name - which you may prefer because of the shorter[104X125[4X markup. -->[104X126[4X[104X127[4X<!ELEMENT Keyword (#PCDATA|Alt)*> <!-- Keyword -->[104X128[4X<!ELEMENT K (#PCDATA|Alt)*> <!-- Keyword (shortcut) -->[104X129[4X[104X130[4X<!ELEMENT Arg (#PCDATA|Alt)*> <!-- Argument -->[104X131[4X<!ELEMENT A (#PCDATA|Alt)*> <!-- Argument (shortcut) -->[104X132[4X[104X133[4X<!ELEMENT Code (#PCDATA|Alt|A|Arg)*> <!-- GAP code -->[104X134[4X<!ELEMENT C (#PCDATA|Alt|A|Arg)*> <!-- GAP code (shortcut) -->[104X135[4X[104X136[4X<!ELEMENT File (#PCDATA|Alt)*> <!-- Filename -->[104X137[4X<!ELEMENT F (#PCDATA|Alt)*> <!-- Filename (shortcut) -->[104X138[4X[104X139[4X<!ELEMENT Button (#PCDATA|Alt)*> <!-- "Button" (also Menu, Key) -->[104X140[4X<!ELEMENT B (#PCDATA|Alt)*> <!-- "Button" (shortcut) -->[104X141[4X[104X142[4X<!ELEMENT Package (#PCDATA|Alt)*> <!-- A package name -->[104X143[4X[104X144[4X<!ELEMENT Quoted (%InnerText;)*> <!-- Quoted (in quotes) text -->[104X145[4X<!ELEMENT Q (%InnerText;)*> <!-- Quoted text (shortcut) -->[104X146[4X[104X147[4X[104X148[4X<!-- The following elements contain mathematical formulae. They are [104X149[4X terminal elements that contain character data in TeX notation. -->[104X150[4X[104X151[4X<!-- Math with well defined translation to text output -->[104X152[4X<!ELEMENT M (#PCDATA|A|Arg|Alt)*>[104X153[4X<!-- Normal TeX math mode formula -->[104X154[4X<!ELEMENT Math (#PCDATA|A|Arg|Alt)*> [104X155[4X<!-- TeX displayed math mode formula -->[104X156[4X<!ELEMENT Display (#PCDATA|A|Arg|Alt)*>[104X157[4X<!-- Mode="M" causes <M>-style formatting -->[104X158[4X<!ATTLIST Display Mode CDATA #IMPLIED> [104X159[4X[104X160[4X[104X161[4X<!-- The following elements contain GAP related text like code,[104X162[4X session logs or examples. They are all terminal elements and[104X163[4X consist of character data which is normally typeset verbatim. The[104X164[4X different types of the elements only control how they are[104X165[4X treated. -->[104X166[4X[104X167[4X<!ELEMENT Example (#PCDATA)> <!-- This is subject to the automatic [104X168[4X example checking mechanism -->[104X169[4X<!ELEMENT Log (#PCDATA)> <!-- This not -->[104X170[4X<!ELEMENT Listing (#PCDATA)> <!-- This is just for code listings -->[104X171[4X<!ATTLIST Listing Type CDATA #IMPLIED> <!-- a comment about the type of[104X172[4X listed code, may appear in[104X173[4X output -->[104X174[4X[104X175[4X<!-- One further verbatim element, this is truely verbatim without[104X176[4X any processing and intended for ASCII substitutes of complicated[104X177[4X displayed formulae or tables. -->[104X178[4X[104X179[4X<!ELEMENT Verb (#PCDATA)> [104X180[4X[104X181[4X<!-- The following elements are for cross-referencing purposes like[104X182[4X URLs, citations, references, and the index. All these elements[104X183[4X are terminal and need special methods to make up the actual[104X184[4X output during document generation. -->[104X185[4X[104X186[4X<!ELEMENT URL (#PCDATA|Alt|Link|LinkText)*> <!-- Link, LinkText[104X187[4X variant for case where text needs further markup -->[104X188[4X<!ATTLIST URL Text CDATA #IMPLIED> <!-- This is for output formats[104X189[4X that have links like HTML -->[104X190[4X<!ELEMENT Link (%InnerText;)*> <!-- the URL -->[104X191[4X<!ELEMENT LinkText (%InnerText;)*> <!-- text for links, can contain markup -->[104X192[4X<!-- The following two are actually URLs, but the element name determines[104X193[4X the type. -->[104X194[4X<!ELEMENT Email (#PCDATA|Alt|Link|LinkText)*>[104X195[4X<!ELEMENT Homepage (#PCDATA|Alt|Link|LinkText)*>[104X196[4X[104X197[4X<!-- Those who still want to give postal addresses can use the following[104X198[4X element. Use <Br/> for specifying typical line breaks -->[104X199[4X[104X200[4X<!ELEMENT Address (#PCDATA|Alt|Br)*>[104X201[4X[104X202[4X<!ELEMENT Cite EMPTY>[104X203[4X<!ATTLIST Cite Key CDATA #REQUIRED[104X204[4X Where CDATA #IMPLIED>[104X205[4X [104X206[4X<!ELEMENT Label EMPTY>[104X207[4X<!ATTLIST Label Name CDATA #REQUIRED>[104X208[4X[104X209[4X<!ELEMENT Ref EMPTY>[104X210[4X<!ATTLIST Ref Func CDATA #IMPLIED[104X211[4X Oper CDATA #IMPLIED[104X212[4X Constr CDATA #IMPLIED[104X213[4X Meth CDATA #IMPLIED[104X214[4X Filt CDATA #IMPLIED[104X215[4X Prop CDATA #IMPLIED[104X216[4X Attr CDATA #IMPLIED[104X217[4X Var CDATA #IMPLIED[104X218[4X Fam CDATA #IMPLIED[104X219[4X InfoClass CDATA #IMPLIED[104X220[4X Chap CDATA #IMPLIED[104X221[4X Sect CDATA #IMPLIED[104X222[4X Subsect CDATA #IMPLIED[104X223[4X Appendix CDATA #IMPLIED[104X224[4X Text CDATA #IMPLIED[104X225[4X[104X226[4X Label CDATA #IMPLIED[104X227[4X BookName CDATA #IMPLIED[104X228[4X Style (Text|Number) #IMPLIED> <!-- normally automatic -->[104X229[4X[104X230[4X<!-- Note that only one attribute of Ref is used normally. BookName[104X231[4X and Style can be specified in addition to handle external[104X232[4X references and the typesetting style of the reference. -->[104X233[4X[104X234[4X<!-- For explicit index entries (Func and so on should cause an[104X235[4X automatically generated index entry). Use the attributes Key,[104X236[4X Subkey for sorting (simplified, without markup). The Subkey value[104X237[4X also gets printed. Use the optional Subkey element if the printed[104X238[4X version needs some markup. -->[104X239[4X<!ELEMENT Index (%InnerText;|Subkey)*>[104X240[4X<!ATTLIST Index Key CDATA #IMPLIED[104X241[4X Subkey CDATA #IMPLIED>[104X242[4X<!ELEMENT Subkey (%InnerText;)*>[104X243[4X[104X244[4X[104X245[4X<!-- ==================================================================[104X246[4X The following describes the normal documentation text which can[104X247[4X occur at various places in the document. It does not contain[104X248[4X further sectioning elements. In addition to InnerText it can contain [104X249[4X environments like enumerations, lists, and such.[104X250[4X ================================================================== -->[104X251[4X[104X252[4X<!ENTITY % Text "%InnerText; | List | Enum | Table">[104X253[4X[104X254[4X<!ELEMENT Item ( %Text;)*>[104X255[4X<!ELEMENT Mark ( %InnerText;)*>[104X256[4X[104X257[4X<!ELEMENT List ( ((Mark,Item)|Item)+ )>[104X258[4X<!ATTLIST List Only CDATA #IMPLIED[104X259[4X Not CDATA #IMPLIED>[104X260[4X<!ELEMENT Enum ( Item+ )>[104X261[4X<!ATTLIST Enum Only CDATA #IMPLIED[104X262[4X Not CDATA #IMPLIED>[104X263[4X[104X264[4X<!ELEMENT Table ( Caption?, (Row | HorLine)+ )>[104X265[4X<!ATTLIST Table Label CDATA #IMPLIED[104X266[4X Only CDATA #IMPLIED[104X267[4X Not CDATA #IMPLIED[104X268[4X Align CDATA #REQUIRED> <!-- A TeX tabular string -->[104X269[4X <!-- We allow | and l,c,r, nothing else -->[104X270[4X<!ELEMENT Row ( Item+ )>[104X271[4X<!ELEMENT HorLine EMPTY>[104X272[4X<!ELEMENT Caption ( %InnerText;)*>[104X273[4X[104X274[4X<!-- ==================================================================[104X275[4X We start defining some things within the overall structure:[104X276[4X ================================================================== -->[104X277[4X[104X278[4X<!-- The TitlePage consists of several sub-elements: -->[104X279[4X[104X280[4X<!ELEMENT TitlePage (Title, Subtitle?, Version?, TitleComment?, [104X281[4X Author+, Date?, Address?, Abstract?, Copyright?, [104X282[4X Acknowledgements? , Colophon? )>[104X283[4X[104X284[4X<!ELEMENT Title (%Text;)*>[104X285[4X<!ELEMENT Subtitle (%Text;)*>[104X286[4X<!ELEMENT Version (%Text;)*>[104X287[4X<!ELEMENT TitleComment (%Text;)*>[104X288[4X<!ELEMENT Author (%Text;)*> <!-- There may be more than one Author! -->[104X289[4X<!ELEMENT Date (%Text;)*>[104X290[4X<!ELEMENT Abstract (%Text;)*>[104X291[4X<!ELEMENT Copyright (%Text;)*>[104X292[4X<!ELEMENT Acknowledgements (%Text;)*> [104X293[4X<!ELEMENT Colophon (%Text;)*>[104X294[4X[104X295[4X[104X296[4X<!-- The following things just specify some information about the[104X297[4X corresponding parts of the Book: -->[104X298[4X[104X299[4X<!ELEMENT TableOfContents EMPTY>[104X300[4X<!ELEMENT Bibliography EMPTY>[104X301[4X<!ATTLIST Bibliography Databases CDATA #REQUIRED[104X302[4X Style CDATA #IMPLIED>[104X303[4X<!ELEMENT TheIndex EMPTY>[104X304[4X[104X305[4X<!-- ==================================================================[104X306[4X The Ignore element can be used everywhere to include further[104X307[4X information in a GAPDoc document which is not intended for the [104X308[4X standard converters (e.g., source code, not yet finished stuff,[104X309[4X and so on. This information can be extracted by special converter [104X310[4X routines, more precise information about the content of an Ignore[104X311[4X element can be given by the "Remark" attribute.[104X312[4X ================================================================== -->[104X313[4X[104X314[4X<!ELEMENT Ignore (%Text;| Chapter | Section | Subsection | ManSection |[104X315[4X Heading)*>[104X316[4X<!ATTLIST Ignore Remark CDATA #IMPLIED>[104X317[4X [104X318[4X<!-- ==================================================================[104X319[4X Now we go on with the overall structure by defining the sectioning [104X320[4X structure, which includes the Synopsis element: [104X321[4X ================================================================== -->[104X322[4X[104X323[4X[104X324[4X<!ELEMENT Subsection (%Text;| Heading)*>[104X325[4X<!ATTLIST Subsection Label CDATA #IMPLIED> <!-- For reference purposes -->[104X326[4X[104X327[4X<!ELEMENT ManSection ( Heading?, [104X328[4X ((Func, Returns?) | (Oper, Returns?) | [104X329[4X (Meth, Returns?) | (Filt, Returns?) | [104X330[4X (Prop, Returns?) | (Attr, Returns?) |[104X331[4X (Constr, Returns?) |[104X332[4X Var | Fam | InfoClass)+, Description )>[104X333[4X<!ATTLIST ManSection Label CDATA #IMPLIED> <!-- For reference purposes -->[104X334[4X[104X335[4X<!ELEMENT Returns (%Text;)*>[104X336[4X<!ELEMENT Description (%Text;)*>[104X337[4X[104X338[4X[104X339[4X<!-- Note that the ManSection element is actually a subsection with[104X340[4X respect to labelling, referencing, and counting of sectioning[104X341[4X elements. -->[104X342[4X[104X343[4X<!ELEMENT Func EMPTY>[104X344[4X<!ATTLIST Func Name CDATA #REQUIRED[104X345[4X Label CDATA #IMPLIED[104X346[4X Arg CDATA #REQUIRED[104X347[4X Comm CDATA #IMPLIED>[104X348[4X[104X349[4X<!-- Note that Arg contains the full list of arguments, including[104X350[4X optional parts, which are denoted by square brackets [].[104X351[4X Arguments are separated by whitespace, commas count as[104X352[4X whitespace. -->[104X353[4X[104X354[4X<!-- Note further that although Name and Label are CDATA (and not ID)[104X355[4X Label must make up a unique identifier. -->[104X356[4X[104X357[4X<!ELEMENT Oper EMPTY>[104X358[4X<!ATTLIST Oper Name CDATA #REQUIRED[104X359[4X Label CDATA #IMPLIED[104X360[4X Arg CDATA #REQUIRED[104X361[4X Comm CDATA #IMPLIED>[104X362[4X[104X363[4X<!ELEMENT Constr EMPTY>[104X364[4X<!ATTLIST Constr Name CDATA #REQUIRED[104X365[4X Label CDATA #IMPLIED[104X366[4X Arg CDATA #REQUIRED[104X367[4X Comm CDATA #IMPLIED>[104X368[4X[104X369[4X<!ELEMENT Meth EMPTY>[104X370[4X<!ATTLIST Meth Name CDATA #REQUIRED[104X371[4X Label CDATA #IMPLIED[104X372[4X Arg CDATA #REQUIRED[104X373[4X Comm CDATA #IMPLIED>[104X374[4X[104X375[4X<!ELEMENT Filt EMPTY>[104X376[4X<!ATTLIST Filt Name CDATA #REQUIRED[104X377[4X Label CDATA #IMPLIED[104X378[4X Arg CDATA #IMPLIED[104X379[4X Comm CDATA #IMPLIED[104X380[4X Type CDATA #IMPLIED> [104X381[4X[104X382[4X<!ELEMENT Prop EMPTY>[104X383[4X<!ATTLIST Prop Name CDATA #REQUIRED[104X384[4X Label CDATA #IMPLIED[104X385[4X Arg CDATA #REQUIRED[104X386[4X Comm CDATA #IMPLIED>[104X387[4X[104X388[4X<!ELEMENT Attr EMPTY>[104X389[4X<!ATTLIST Attr Name CDATA #REQUIRED[104X390[4X Label CDATA #IMPLIED[104X391[4X Arg CDATA #REQUIRED[104X392[4X Comm CDATA #IMPLIED>[104X393[4X[104X394[4X<!ELEMENT Var EMPTY>[104X395[4X<!ATTLIST Var Name CDATA #REQUIRED[104X396[4X Label CDATA #IMPLIED[104X397[4X Comm CDATA #IMPLIED>[104X398[4X[104X399[4X<!ELEMENT Fam EMPTY>[104X400[4X<!ATTLIST Fam Name CDATA #REQUIRED[104X401[4X Label CDATA #IMPLIED[104X402[4X Comm CDATA #IMPLIED>[104X403[4X[104X404[4X<!ELEMENT InfoClass EMPTY>[104X405[4X<!ATTLIST InfoClass Name CDATA #REQUIRED[104X406[4X Label CDATA #IMPLIED[104X407[4X Comm CDATA #IMPLIED>[104X408[4X[104X409[4X[104X410[4X<!ELEMENT Heading (%InnerText;)*>[104X411[4X[104X412[4X<!ELEMENT Section (%Text;| Heading | Subsection | ManSection)*>[104X413[4X<!ATTLIST Section Label CDATA #IMPLIED> <!-- For reference purposes -->[104X414[4X[104X415[4X[104X416[4X<!ELEMENT Chapter (%Text;| Heading | Section)*>[104X417[4X<!ATTLIST Chapter Label CDATA #IMPLIED> <!-- For reference purposes -->[104X418[4X[104X419[4X[104X420[4X<!-- Note that the entity %InnerText; is documentation that contains[104X421[4X neither sectioning elements nor environments like enumerations,[104X422[4X but only formulae, labels, references, citations, and other[104X423[4X terminal elements. -->[104X424[4X[104X425[4X<!ELEMENT Appendix (%Text;| Heading | Section)*>[104X426[4X<!ATTLIST Appendix Label CDATA #IMPLIED> <!-- For reference purposes -->[104X427[4X[104X428[4X<!-- Note that an Appendix is exactly the same as a Chapter. They[104X429[4X differ only in the numbering. -->[104X430[4X[104X431[4X<!-- ==================================================================[104X432[4X At last we define the overall structure of a gapdoc Book:[104X433[4X ================================================================== -->[104X434[4X[104X435[4X<!ELEMENT Body ( %Text;| Chapter | Section )*>[104X436[4X[104X437[4X<!ELEMENT Book (TitlePage,[104X438[4X TableOfContents?,[104X439[4X Body,[104X440[4X Appendix*,[104X441[4X Bibliography?,[104X442[4X TheIndex?)>[104X443[4X<!ATTLIST Book Name CDATA #REQUIRED>[104X444[4X [104X445[4X<!-- Note that the entity %Text; is documentation that contains[104X446[4X no further sectioning elements but possibly environments like[104X447[4X enumerations, and formulae, labels, references, and citations.[104X448[4X -->[104X449[4X[104X450[4X<!-- ============================================================== -->[104X451[4X[104X452[4X[104X453[4X[32X[104X454455456457