diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/x-contml.mkii')
-rw-r--r-- | Master/texmf-dist/tex/context/base/x-contml.mkii | 491 |
1 files changed, 0 insertions, 491 deletions
diff --git a/Master/texmf-dist/tex/context/base/x-contml.mkii b/Master/texmf-dist/tex/context/base/x-contml.mkii deleted file mode 100644 index 22fffa50a37..00000000000 --- a/Master/texmf-dist/tex/context/base/x-contml.mkii +++ /dev/null @@ -1,491 +0,0 @@ -%M \usemodule [contml] \autoXMLnamespace [context] -%M \definefilesynonym [context] [x-contml.xsd] - -%D \module -%D [ file=x-contml, -%D version=mid 2001, -%D title=\CONTEXT\ XML Support, -%D subtitle=Basic \CONTEXT\ commands, -%D author=Hans Hagen, -%D date=\currentdate, -%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] -%C -%C This module is part of the \CONTEXT\ macro||package and is -%C therefore copyrighted by \PRAGMA. See mreadme.pdf for -%C details. - -% This module provides some basic \XML\ elements. These definitions -% are highly experimental and serve as a playground for interface -% development. - -\unprotect - -%D \elements {include} -%D -%D \startbuffer -%D You can include another file in the current document with the -%D <element>include</element> element. When including the file, &context; -%D will look at the suffix, in order to decide how to include the file. -%D -%D <verbatim> -%D <line><include name="mine"/></line> -%D <line><include name="mine" type="txt"/></line> -%D <line><include name="mine" type="tex"/></line> -%D </verbatim> -%D \stopbuffer -%D -%D \showelements [context] [include] - -\defineXMLsingular [context:include] [name=,type=xml] - {\doifsomethingXMLop{name} - {\processaction - [\XMLop{type}] - [xml=>\readfile{\XMLop{name}}\donothing\donothing, - tex=>{{\disableXML\readfile{\XMLop{name}}\donothing\donothing}}, - txt=>{{\disableXML\typefile{\XMLop{name}}}}]}} - -% or, nicer: -% -% \defineXMLsingular [context:include] [name=unknown,type=txt] -% {\XMLval{include:type}{\XMLop{type}}{}} -% -% \mapXMLvalue {include:type} {xml} {\readfile{\XMLop{name}}\donothing\donothing} -% \mapXMLvalue {include:type} {tex} {{\disableXML\readfile{\XMLop{name}}\donothing\donothing}} -% \mapXMLvalue {include:type} {txt} {{\disableXML\typefile{\XMLop{name}}}} - -%D \elements {compound} -%D -%D \startbuffer -%D Instead of using hard coded compound tokens, you should use the -%D <element>compound</element> element, as in high<compound token="/" />low. -%D The overhead in keying is rewarded with proper symbols and hyphenation. -%D \stopbuffer -%D -%D \showelements [context] [compound] - -\ifx\normalcompound\undefined \let\normalcompound=| \fi - -% \defineXMLsingular [context:compound] [token=] -% {\expanded{\normalcompound\XMLop{token}}|} - -% \defineXMLsingular [context:compound] [token=] -% {\ifmmode -% \doifXMLop{token}{\XMLop{token}}{\compoundhyphen}% -% \else -% \expanded{\normalcompound\XMLop{token}}|% -% \fi} - -\defineXMLsingular [context:compound] [token=] - {\mathortext % disc comm looks ahead, so \relax - {\doifXMLop{token}{\XMLop{token}}\compoundhyphen}% - {\expanded{\directdiscretionary{\XMLop{token}}}\relax}} - -\defineXMLenvironmentsave [context:cp] - {} - {\expanded{\directdiscretionary{\XMLflush{cp}}}\relax} - -%D \elements {p} -%D -%D \startbuffer -%D <p>Although for &tex; it is often enough to mark the end of a paragraph, -%D in &xml; we want to add a bit more structure. <p/> This permits a more -%D robust implementation of begin<compound/>of<compound/>par actions</p> -%D \stopbuffer -%D -%D \showelements [context] [p] - -\defineXMLenvironment [context:p] {} \endgraf -\defineXMLsingular [context:p] \endgraf - -%D \elements {pageref,textref,lineref} -%D -%D \startbuffer -%D You can ask for a page (<pageref label="lastpage">the last pagenumber -%D is</pageref> aka page <pageref label="lastpage"/>), text or line reference -%D with the following three elements. The label may be any valid &context; -%D reference label. -%D \stopbuffer -%D -%D \showelements [context] [references] - -\defineXMLpickup [context:pageref] [label=] {\at} {[\XMLop{label}]} -\defineXMLpickup [context:textref] [label=] {\in} {[\XMLop{label}]} -\defineXMLpickup [context:lineref] [label=] {\inline} {[\XMLop{label}]} - -%D \elements{text} -%D -%D \startbuffer -%D If you have a self contained &xml; file, you need to signal &context; the -%D begin and end of the document. The following elements can be used for -%D that purpose: -%D -%D <verbatim> -%D <line><text></line> -%D <line> ...</line> -%D <line></text></line> -%D </verbatim> -%D \stopbuffer -%D -%D \showelements [context] [text] - -\defineXMLenvironment [context:text] \starttext \stoptext - -%D \elements {em} -%D -%D \startbuffer -%D Authors often want some control over the way a text is typeset, which is -%D why we provide the <element>em</element> element. We may only hope that -%D the author is <em>consistent</em> in his decisions on what to emphasize. -%D \stopbuffer -%D -%D \showelements [context] [em] - -\defineXMLgrouped [context:em] \em - -%D \elements {b} -%D -%D \startbuffer -%D Bold is not always <b>beautiful</b> but if you really want it, you can -%D get it by using this element. -%D \stopbuffer -%D -%D \showelements [context] [b] - -\defineXMLgrouped [context:b] \bf - -%D \elements {verbatim,typing,line,verb,type} -%D -%D \startbuffer -%D Although the following method can be used to typeset a piece of code -%D verbatim -%D -%D <![CDATA[ -%D Dit \is nogal verbatim ! -%D Dit is {nogal} verbatim ! -%D Dit is <nogal> verbatim ! -%D ]]> -%D -%D we prefer the more structured: -%D -%D <verbatim> -%D <line>Dit \is nogal verbatim !</line> -%D <line>Dit is {nogal} verbatim !</line> -%D <line>Dit is <nogal> verbatim !</line> -%D </verbatim> -%D \stopbuffer -%D -%D The element to tag in<compound/>line verbatim is <type><verb></type>. -%D -%D \showelements [context] [verbatim] - -\defineXMLenvironment [context:verbatim] - {\startpacked - \defineXMLargument[context:line]{\endgraf\type}} - {\stoppacked} - -\defineXMLenvironment [context:typing] - {\startpacked\defineXMLargument[context:line]{\endgraf\type}} - {\stoppacked} - -\defineXMLargument [context:verb] \type -\defineXMLargument [context:type] \type - -%D \elements {itemize,item} -%D -%D \startbuffer -%D Itemized lists are quite common in documents, al least in the ones that -%D we produce. For the moment we only provide a few options, later we will -%D hook it into the &context; attribute handler. -%D -%D <itemize type="a"> -%D <item label="bla"> test </item> -%D <item> test </item> -%D </itemize> -%D -%D <itemize packed="yes"> -%D <item label="more bla"> test </item> -%D <item> test <em>what?</em></item> -%D </itemize> -%D \stopbuffer -%D -%D \showelements [context] [itemize] - -\defineXMLenvironment [context:itemize] [type=,packed=] - {\let\XMLoptions\empty - \doifsomethingXMLop{type}{\addtocommalist{\XMLop{type}}\XMLoptions}% - \doifXMLop{packed}{yes}{\addtocommalist{packed}\XMLoptions}% - \expanded{\startitemize[\XMLoptions]}} - {\stopitemize} - -\defineXMLenvironment [context:item] [label=] - {\expanded{\item[\XMLop{label}]}} - {\endgraf} - -%D \elements {externalfigure} -%D -%D \startbuffer -%D The previous examples already demonstrated how we can include a graphic: -%D -%D <verbatim> -%D <line><externalfigure file="cow" width="5cm" /></line> -%D </verbatim> -%D \stopbuffer -%D -%D \showelements [context] [externalfigure] - -\defineXMLsingular [context:externalfigure] [\??ef] [base=,label=,file=] - {\bgroup % \getXMLta \expandXMLta \expandXMLtp{file}% - \expandXMLta - \getXMLta % expand entities first - \doifelsenothing{\XMLtp{label}} - {\expanded{\externalfigure[\XMLtp{file}][\XMLta]}} - {\doifsomething{\XMLtp{base}}{\usefigurebase[\XMLtp{base}]}% - \expanded{\externalfigure[\XMLtp{label}][\XMLta]}} - \egroup} - -%D \elements {fixed} -%D \setupexternalfigures[directory={../sample}] -%D \startbuffer -%D Something fixed will end up at the place where it defined in the input -%D stream. The main idea behind this element is that it gives you control -%D over the placement. -%D -%D <itemize> -%D <item> -%D <fixed align="high"> -%D <content> -%D <externalfigure file="cow" frame="on" height="1cm" /> -%D </content> -%D </fixed> -%D </item> -%D </itemize> -%D \stopbuffer -%D -%D \showelements [context] [fixed] - -\defineXMLenvironment [context:fixed] [type=figure,location=,label=] - {\bgroup - \defineXMLsave[context:caption] - \defineXMLsave[context:content]} - {\expanded{\startfixed[\XMLop{location}]}% - \doifXMLdataelse{context:caption} - {\startcombination[1*1] - {\XMLflush{context:content}} {\XMLflush{context:caption}} - \stopcombination} - {\XMLflush{context:content}}% - \stopfixed - \egroup} - -%D \elements {float} -%D \setupexternalfigures[directory={../sample}] -%D \startbuffer -%D A floating body will be placed at the first location available, unless -%D a location is specified. As with the <element>fixed</element> element, -%D you can provide a caption. -%D -%D <float type="figure"> -%D <content> -%D <externalfigure file="cow" frame="on" height="3cm" /> -%D </content> -%D <caption>This is a cow!</caption> -%D </float> -%D \stopbuffer -%D -%D \showelements [context] [float] - -\defineXMLenvironment [context:float] [type=figure,location=here,label=] - {\bgroup - \defineXMLsave[context:caption] - \defineXMLsave[context:content]} - {\expanded - {\placefloat - [\XMLop{type}] [\XMLop{location}] [\XMLop{label}] - {\XMLflush{context:caption}} {\XMLflush{context:content}}} - \egroup} - -%D \elements {quotation,quote} -%D -%D \startbuffer -%D There is a (not so) subtle difference between a display -%D <quotation>quotation</quotation> and an <quote>in<compound/>line</quote> -%D one. -%D \stopbuffer -%D -%D \showelements [context] [table] - -\defineXMLgrouped [context:quote] \quote -\defineXMLgrouped [context:quotation] \quotation - -%D \elements {table,tr,td} -%D -%D \startbuffer -%D There are (currently) three table mechanisms in &context;. One of them -%D resembles the well known &html; tables. -%D -%D <?context-command \startlinecorrection[blank] ?> -%D <table> -%D <tr> <td>one</td> <td>a</td> <td>first </td> </tr> -%D <tr> <td>two</td> <td>b</td> <td>second</td> </tr> -%D </table> -%D <?context-command \stoplinecorrection ?> -%D -%D As you can see here, we use a similar syntax but stick to the &context; -%D attributes (which provide quite advanced control over the layout). -%D -%D <?context-command \startlinecorrection[blank] ?> -%D <table frame="off" background="color" color="white"> -%D <tr backgroundcolor="red"> <td>xx</td> <td>xx</td> </tr> -%D <tr backgroundcolor="green"> <td>xx</td> <td>xx</td> </tr> -%D </table> -%D <?context-command \stoplinecorrection ?> -%D \stopbuffer -%D -%D \showelements [context] [table] - -\defineXMLenvironment [context:table] [\@@tbl\@@tbl] - {\bgroup - \defineXMLnested [context:tr] [\@@tbl] {\expanded{\bTR[\theXMLarguments{\@@tbl}}]} \eTR - \defineXMLnested [context:td] [\@@tbl] {\expanded{\bTD[\theXMLarguments{\@@tbl}}]} \eTD - \expanded{\bTABLE[\theXMLarguments{\@@tbl\@@tbl}]}} - {\eTABLE - \egroup} - -%D \elements {tabulate,tspec,thead,tbody,ttail,trule,tr,td} -%D -%D \startbuffer -%D The second mechanism that we support is tabulation. The advantage of this -%D mechanism is that it it well tuned for tables that have much text in the -%D cells and cross page boundaires. -%D -%D <tabulate> -%D <tspec> -%D <tcell align="left"/> <tcell align="middle"/> <tcell align="right"/> -%D </tspec> -%D <thead> -%D <trule/> -%D <tr> <td> bagger </td> <td> bagger </td> <td> bagger </td> </tr> -%D <trule/> -%D </thead> -%D <ttail> -%D <trule/> -%D </ttail> -%D <tbody> -%D <tr> <td> bagger </td> <td> bagger </td> <td> bagger </td> </tr> -%D <tr> <td> bagg </td> <td> ger </td> <td> gr </td> </tr> -%D <tr> <td> bag </td> <td> er </td> <td> gger </td> </tr> -%D </tbody> -%D </tabulate> -%D \stopbuffer -%D -%D \showelements [context] [tabulate] - -\newtoks\XMLtabtoks - -\defineXMLgrouped [context:tabulate] {\XMLtabtoks{|l|p|}} - -\defineXMLpickup [context:tbody] - {\expanded{\definetabulate[dummy][\the\XMLtabtoks]} - \startdummy\XMLflush{context:thead}} - {\XMLflush{context:ttail}\stopdummy} - -\defineXMLsave [context:thead] -\defineXMLsave [context:ttail] - -\defineXMLenvironment[context:tspec] - {\XMLtabtoks\emptytoks} - {\appendtoks|\to\XMLtabtoks} - -\defineXMLsingular [context:trule] % verrrry ugly - {\crcr\noalign{\kern-\lineheight}\HL} - -\defineXMLsingular [context:tcell] [align=] - {\appendtoks|\to\XMLtabtoks - \expanded{\processallactionsinset - [\XMLop{align}]} - [ paragraph=>\appendtoks p\to\XMLtabtoks, - left=>\appendtoks l\to\XMLtabtoks, - right=>\appendtoks r\to\XMLtabtoks, - center=>\appendtoks c\to\XMLtabtoks, - middle=>\appendtoks c\to\XMLtabtoks]} - -\defineXMLenvironment [context:tr] {\ignorespaces} {\NC\NR} -\defineXMLenvironment [context:td] {\NC} {\ignorespaces} - -%D \elements {hide} -%D -%D \startbuffer -%D This is the way to [<hide>this is gone</hide>] something for the -%D typesetting engine. Normally this element is only used for testing -%D purposes. -%D \stopbuffer -%D -%D \showelements [context] [tabulate] - -\defineXMLignore[context:hide] - -%D \elements {unknown} -%D -%D \startbuffer -%D We can go on and on and <unknown/> with defining elements that map onto -%D &context; commands, but why not just use &tex; input syntax then? -%D \stopbuffer -%D -%D \showelements [context] [unknown] - -\defineXMLsingular [context:unknown] \unknown - -%D A (for the moment) private one. - -\defineXMLargument [context:element] \type - -%D The following common schema definitions apply: -%D -%D {\setupcolors[state=stop]\showXSDcomponent[context][definitions]} - -\defineXMLargument [context:chapter] [label=] {\chapter[\XMLop{label}]} -\defineXMLargument [context:section] [label=] {\section[\XMLop{label}]} -\defineXMLargument [context:subsection] [label=] {\subsection[\XMLop{label}]} -\defineXMLargument [context:subsubsection] [label=] {\subsubsection[\XMLop{label}]} -\defineXMLargument [context:subsubsubsection] [label=] {\subsubsubsection[\XMLop{label}]} - -\defineXMLargument [context:title] [label=] {\title[\XMLop{label}]} -\defineXMLargument [context:subject] [label=] {\subject[\XMLop{label}]} -\defineXMLargument [context:subsubject] [label=] {\subsubject[\XMLop{label}]} -\defineXMLargument [context:subsubsubject] [label=] {\subsubsubject[\XMLop{label}]} -\defineXMLargument [context:subsubsubsubject] [label=] {\subsubsubsubject[\XMLop{label}]} - -\defineXMLenvironment [context:frontmatter] \startfrontmatter \stopfrontmatter -\defineXMLenvironment [context:bodymatter] \startbodymatter \stopbodymatter -\defineXMLenvironment [context:backmatter] \startbackmatter \stopbackmatter -\defineXMLenvironment [context:appendices] \startappendices \stopappendices - -\defineXMLargument [context:index] [key=] - {\doifelsenothingXMLop{key}{\index}{\expanded{\index[\XMLop{key}]}}} - -% \enableXMLfiledata - -% Needed for example (stickers and so): - -\defineXMLenvironment [context:makeup] - \startstandardmakeup \stopstandardmakeup - -\protect \endinput - -% TO DO - -\defineXMLenvironment [combination] [columns=2,rows=1] - {\scratchtoks\emptytoks - \expanded{\appendtoks \noexpand \startcombination - [\XMLop{columns}*\XMLop{rows}]}\to \scratchtoks} - {\appendtoks \stopcombination \to \scratchtoks - \the\scratchtoks} - -\defineXMLprocess[combinationentry] - -\defineXMLpickup [combinationitem] - {\appendtoks\bgroup}{\egroup\to\scratchtoks} - -\defineXMLpickup [combinationcaption] - {\appendtoks\bgroup}{\egroup\to\scratchtoks} - -\endinput |