diff options
Diffstat (limited to 'doc')
17 files changed, 538 insertions, 116 deletions
diff --git a/doc/context/documents/general/manuals/epub-mkiv-demo.epub b/doc/context/documents/general/manuals/epub-mkiv-demo.epub Binary files differnew file mode 100644 index 000000000..c813e4e79 --- /dev/null +++ b/doc/context/documents/general/manuals/epub-mkiv-demo.epub diff --git a/doc/context/documents/general/manuals/epub-mkiv-demo.pdf b/doc/context/documents/general/manuals/epub-mkiv-demo.pdf Binary files differnew file mode 100644 index 000000000..2382d188c --- /dev/null +++ b/doc/context/documents/general/manuals/epub-mkiv-demo.pdf diff --git a/doc/context/documents/general/manuals/epub-mkiv.pdf b/doc/context/documents/general/manuals/epub-mkiv.pdf Binary files differnew file mode 100644 index 000000000..44cafcd27 --- /dev/null +++ b/doc/context/documents/general/manuals/epub-mkiv.pdf diff --git a/doc/context/documents/general/manuals/tiptrick.pdf b/doc/context/documents/general/manuals/tiptrick.pdf Binary files differindex edfa6f0ad..5332e70ec 100644 --- a/doc/context/documents/general/manuals/tiptrick.pdf +++ b/doc/context/documents/general/manuals/tiptrick.pdf diff --git a/doc/context/documents/general/manuals/workflows-mkiv.pdf b/doc/context/documents/general/manuals/workflows-mkiv.pdf Binary files differindex 7cdd669cc..828fb86cb 100644 --- a/doc/context/documents/general/manuals/workflows-mkiv.pdf +++ b/doc/context/documents/general/manuals/workflows-mkiv.pdf diff --git a/doc/context/scripts/mkii/texmfstart.html b/doc/context/scripts/mkii/texmfstart.html index 70de410df..ed149a0d0 100644 --- a/doc/context/scripts/mkii/texmfstart.html +++ b/doc/context/scripts/mkii/texmfstart.html @@ -40,6 +40,7 @@ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr> <tr><th/><td/><td/></tr> <tr><th>--script</th><td></td><td>run an mtx script (lua prefered method) (--noquotes), no script gives list</td></tr> + <tr><th>--evaluate</th><td></td><td>run code passed on the commandline (between quotes)</td></tr> <tr><th>--execute</th><td></td><td>run a script or program (texmfstart method) (--noquotes)</td></tr> <tr><th>--resolve</th><td></td><td>resolve prefixed arguments</td></tr> <tr><th>--ctxlua</th><td></td><td>run internally (using preloaded libs)</td></tr> diff --git a/doc/context/scripts/mkii/texmfstart.man b/doc/context/scripts/mkii/texmfstart.man index 643d8b1c9..8a3a75b64 100644 --- a/doc/context/scripts/mkii/texmfstart.man +++ b/doc/context/scripts/mkii/texmfstart.man @@ -14,6 +14,9 @@ .B --script run an mtx script (lua prefered method) (--noquotes), no script gives list .TP +.B --evaluate +run code passed on the commandline (between quotes) +.TP .B --execute run a script or program (texmfstart method) (--noquotes) .TP diff --git a/doc/context/scripts/mkii/texmfstart.xml b/doc/context/scripts/mkii/texmfstart.xml index c19484d9d..c7e719541 100644 --- a/doc/context/scripts/mkii/texmfstart.xml +++ b/doc/context/scripts/mkii/texmfstart.xml @@ -8,6 +8,7 @@ <category name="basic"> <subcategory> <flag name="script"><short>run an mtx script (lua prefered method) (<ref name="noquotes"/>), no script gives list</short></flag> + <flag name="evaluate"><short>run code passed on the commandline (between quotes)</short></flag> <flag name="execute"><short>run a script or program (texmfstart method) (<ref name="noquotes"/>)</short></flag> <flag name="resolve"><short>resolve prefixed arguments</short></flag> <flag name="ctxlua"><short>run internally (using preloaded libs)</short></flag> diff --git a/doc/context/scripts/mkiv/mtx-bibtex.html b/doc/context/scripts/mkiv/mtx-bibtex.html deleted file mode 100644 index 61a679716..000000000 --- a/doc/context/scripts/mkiv/mtx-bibtex.html +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - -<!-- compare with lmx framework variant --> - -<!-- - filename : context-base.xml - comment : companion to mtx-server-ctx-startup.tex - author : Hans Hagen, PRAGMA-ADE, Hasselt NL - copyright: PRAGMA ADE / ConTeXt Development Team - license : see context related readme files ---> - -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - <head> - <title>bibtex helpers</title> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> - <style type="text/css"> - body { color: #FFFFFF; background-color: #808080; font-family: optima, verdana, futura, "lucida sans", arial, geneva, helvetica, sans; font-size: 12px; line-height: 18px; } a:link, a:active, a:visited { color: #FFFFFF; } a.dir-view:link, a.dir-view:active, a.dir-view:visited { color: #FFFFFF; text-decoration: underline; } .valid { color: #00FF00; } .invalid { color: #FF0000; } button, .commonlink, .smallbutton { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; border-color: #7F7F7F; border-style: solid; border-width: .125ex; background-color: #FFFFFF; padding: .5ex; } .smallbutton { width: 1em; } a.commonlink:link, a.commonlink:active, a.commonlink:visited, a.smalllink:link, a.smalllink:active, a.smalllink:visited { font-weight: bold; font-size: 12px; text-decoration: none; color: #000000; } h1, .title { font-style: normal; font-weight: normal; font-size: 18px; line-height: 18px; margin-bottom: 20px; } h2, .subtitle { font-style: normal; font-weight: normal; font-size: 12px; margin-top: 18px; margin-bottom: 18px; } table { line-height: 18px; font-size: 12px; margin: 0; } th { font-weight: bold; text-align: left; padding-bottom: 6px; } .tc { font-weight: bold; text-align: left; } p, li { max-width: 60em; } .empty-line { margin-top: 4px; } .more-room { margin-right: 1.5em; } .much-more-room { margin-right: 3em; } #main { position: absolute; left: 10%; top: 10%; right: 10%; bottom: 10%; z-index: 2; width: 80%; height: 80%; padding: 0%; margin: 0%; overflow: auto; border-style: none; border-width: 0; background-color: #3F3F3F; } #main-settings { margin: 12px; x_max-width: 60em; line-height: 18px; font-size: 12px; } #left { position: absolute; top : 10%; left: 0%; bottom: 0%; right: 90%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; } #right { position: absolute; top : 0%; left: 90%; bottom: 10%; right: 0%; z-index: 1; width: 10%; height: 90%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #4F6F6F; _margin-left: -15px; } #bottom { position: absolute; left: 10%; right: 0%; top: 90%; bottom: 0%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top { position: absolute; left: 0%; right: 10%; top: 0%; bottom: 90%; z-index: 1; width: 90%; height: 10%; padding: 0%; margin: 0%; font-size: 16px; border-style: none; border-width: 0; background-color: #6F6F8F; } #top-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #top-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: right; vertical-align: middle; } #bottom-one { position: absolute; bottom: 50%; width: 100%; buggedheight: 100%; } #bottom-two { position: relative; margin-bottom: -9px; margin-left: 12px; margin-right: 12px; line-height: 18px; text-align: left; vertical-align: middle; } #left-one { position: absolute; width: 100%; buggedheight: 100%; } #left-two { position: relative; margin-top: 12px; line-height: 18px; text-align: center; vertical-align: top; } #right-one { display: table; height: 100%; width: 100%; } #right-two { display: table-row; height: 100%; width: 100%; } #right-three { display: table-cell; width: 100%; vertical-align: bottom; _position: absolute; _top: 100%; } #right-four { text-align: center; margin-bottom: 2ex; _position: relative; _top: -100%; } #more-top { position: absolute; top: 0%; left: 90%; bottom: 90%; right: 0%; z-index: 3; width: 10%; height: 10%; padding: 0%; margin: 0%; border-style: none; border-width: 0; } #more-top-settings { text-align: center; } #more-right-settings { margin-right: 12px; margin-left: 12px; line-height: 18px; font-size: 10px; text-align: center; } #right-safari { _display: table; width: 100%; height: 100%; } - </style> - <style type="text/css"> - </style> - </head> - <body> - <div id="top"> <div id="top-one"> - <div id="top-two">bibtex helpers </div> - </div> - </div> - <div id="bottom"> <div id="bottom-one"> - <div id="bottom-two">wiki: http://contextgarden.net | mail: ntg-context@ntg.nl | website: http://www.pragma-ade.nl</div> - </div> - </div> - <div id="left"></div> - <div id="right"></div> - <div id="main"> - <div id='main-settings'> - <h1>Command line options</h1> -<table> - <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr> - <tr><th/><td/><td/></tr> - <tr><th>--toxml</th><td></td><td>convert bibtex database(s) to xml</td></tr> - <tr><th>--tolua</th><td></td><td>convert bibtex database(s) to lua</td></tr> - <tr><th>--search</th><td></td><td>seatch bibtex database(s)</td></tr> - </table> -<br/> -<h1>Example</h1> -<tt>mtxrun --script bibtex --tolua bibl-001.bib</tt> -<br/><tt>mtxrun --script bibtex --tolua --simple bibl-001.bib</tt> -<br/><tt>mtxrun --script bibtex --toxml bibl-001.bib bibl-002.bib bibl-003.bib biblio.xml</tt> -<br/><tt>mtxrun --script bibtex --search --list --pattern=match(author:foo) bar.bib</tt> -<br/><br/> </div> - </div> - </body> - </html> diff --git a/doc/context/scripts/mkiv/mtx-bibtex.man b/doc/context/scripts/mkiv/mtx-bibtex.man deleted file mode 100644 index ddd3cfbc5..000000000 --- a/doc/context/scripts/mkiv/mtx-bibtex.man +++ /dev/null @@ -1,33 +0,0 @@ -.TH "mtx-bibtex" "1" "01-01-2015" "version 1.00" "bibtex helpers" -.SH NAME -.B mtx-bibtex -.SH SYNOPSIS -.B mtxrun --script bibtex [ -.I OPTIONS ... -.B ] [ -.I FILENAMES -.B ] -.SH DESCRIPTION -.B bibtex helpers -.SH OPTIONS -.TP -.B --toxml -convert bibtex database(s) to xml -.TP -.B --tolua -convert bibtex database(s) to lua -.TP -.B --search -seatch bibtex database(s) -.SH AUTHOR -More information about ConTeXt and the tools that come with it can be found at: - - -.B "maillist:" -ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context - -.B "webpage:" -http://www.pragma-ade.nl / http://tex.aanhet.net - -.B "wiki:" -http://contextgarden.net diff --git a/doc/context/scripts/mkiv/mtx-bibtex.xml b/doc/context/scripts/mkiv/mtx-bibtex.xml deleted file mode 100644 index 5c28b946a..000000000 --- a/doc/context/scripts/mkiv/mtx-bibtex.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<application> - <metadata> - <entry name="name">mtx-bibtex</entry> - <entry name="detail">bibtex helpers</entry> - <entry name="version">1.00</entry> - </metadata> - <flags> - <category name="basic"> - <subcategory> - <flag name="toxml"><short>convert bibtex database(s) to xml</short></flag> - <flag name="tolua"><short>convert bibtex database(s) to lua</short></flag> - <flag name="search"><short>seatch bibtex database(s)</short></flag> - </subcategory> - </category> - </flags> - <examples> - <category> - <title>Example</title> - <subcategory> - <example><command>mtxrun --script bibtex --tolua bibl-001.bib</command></example> - <example><command>mtxrun --script bibtex --tolua --simple bibl-001.bib</command></example> - <example><command>mtxrun --script bibtex --toxml bibl-001.bib bibl-002.bib bibl-003.bib biblio.xml</command></example> - <example><command>mtxrun --script bibtex --search --list --pattern=match(author:foo) bar.bib</command></example> - </subcategory> - </category> - </examples> -</application> diff --git a/doc/context/scripts/mkiv/mtxrun.html b/doc/context/scripts/mkiv/mtxrun.html index f1ec9a29d..6e4146899 100644 --- a/doc/context/scripts/mkiv/mtxrun.html +++ b/doc/context/scripts/mkiv/mtxrun.html @@ -40,6 +40,7 @@ <tr><th style="width: 10em">flag</th><th style="width: 8em">value</th><th>description</th></tr> <tr><th/><td/><td/></tr> <tr><th>--script</th><td></td><td>run an mtx script (lua prefered method) (--noquotes), no script gives list</td></tr> + <tr><th>--evaluate</th><td></td><td>run code passed on the commandline (between quotes)</td></tr> <tr><th>--execute</th><td></td><td>run a script or program (texmfstart method) (--noquotes)</td></tr> <tr><th>--resolve</th><td></td><td>resolve prefixed arguments</td></tr> <tr><th>--ctxlua</th><td></td><td>run internally (using preloaded libs)</td></tr> diff --git a/doc/context/scripts/mkiv/mtxrun.man b/doc/context/scripts/mkiv/mtxrun.man index 643d8b1c9..8a3a75b64 100644 --- a/doc/context/scripts/mkiv/mtxrun.man +++ b/doc/context/scripts/mkiv/mtxrun.man @@ -14,6 +14,9 @@ .B --script run an mtx script (lua prefered method) (--noquotes), no script gives list .TP +.B --evaluate +run code passed on the commandline (between quotes) +.TP .B --execute run a script or program (texmfstart method) (--noquotes) .TP diff --git a/doc/context/scripts/mkiv/mtxrun.xml b/doc/context/scripts/mkiv/mtxrun.xml index 01f2d1263..138afc96e 100644 --- a/doc/context/scripts/mkiv/mtxrun.xml +++ b/doc/context/scripts/mkiv/mtxrun.xml @@ -9,6 +9,7 @@ <category name="basic"> <subcategory> <flag name="script"><short>run an mtx script (lua prefered method) (<ref name="noquotes"/>), no script gives list</short></flag> + <flag name="evaluate"><short>run code passed on the commandline (between quotes)</short></flag> <flag name="execute"><short>run a script or program (texmfstart method) (<ref name="noquotes"/>)</short></flag> <flag name="resolve"><short>resolve prefixed arguments</short></flag> <flag name="ctxlua"><short>run internally (using preloaded libs)</short></flag> diff --git a/doc/context/sources/general/manuals/epub/epub-mkiv-demo.tex b/doc/context/sources/general/manuals/epub/epub-mkiv-demo.tex new file mode 100644 index 000000000..b4b979874 --- /dev/null +++ b/doc/context/sources/general/manuals/epub/epub-mkiv-demo.tex @@ -0,0 +1,43 @@ + +% \usemodule[luacalls] + +\usemodule[mathml] + +\setupexternalfigures + [location=default] + +\setupbackend + [export=yes] + +\setupexport + [svgstyle=mathtest-style, + hyphen=yes, + width=60em] + +\setupbodyfont[pagella] + +\definefloat[graphic][graphics][figure] + +% \environment [mathtest-style] + +\starttext + + \startsection[title=First] + + \startitemize + \startitem one \stopitem + \startitem two \stopitem + \stopitemize + + \startplacefigure[title=First] + \externalfigure[cow.pdf] + \stopplacefigure + + \startplacegraphic[title=Second] + \externalfigure[cow.pdf] + \stopplacegraphic + + some math: \m{e=mc^2} + + \stopsection +\stoptext diff --git a/doc/context/sources/general/manuals/epub/epub-mkiv.tex b/doc/context/sources/general/manuals/epub/epub-mkiv.tex new file mode 100644 index 000000000..cea7d592b --- /dev/null +++ b/doc/context/sources/general/manuals/epub/epub-mkiv.tex @@ -0,0 +1,463 @@ +% language=uk + +% todo: +% +% metadata +% properties +% \dontleavehmode before hbox +% cover page +% +% http://www.cnet.com/news/google-subtracts-mathml-from-chrome-and-anger-multiplies/ + +% \usemodule[luacalls] + +\usemodule[art-01,abr-02] + +\definehighlight[notabene][style=bold] + +\definecolor[darkorange] [.70(green,red)] +\definecolor[lightorange][.45(orange,white)] +\definecolor[lesswhite] [.90(white)] + +\setuptyping[color=darkorange] +\setuptype [color=darkorange] + +\starttext + +\startMPpage + +numeric w ; w := 21cm ; +numeric h ; h := 29.7cm ; +numeric ww ; ww := 9w/10 ; +numeric oo ; oo := (w-ww) / 2 ; +numeric hh ; hh := h/5.5 ; +path p ; p := unitsquare xysized(w,h) ; + +color orange ; orange := \MPcolor{darkorange} ; % .7[green,red] ; + +fill p enlarged 2mm withcolor orange ; + +draw image ( + draw anchored.top( + textext("\ttbf\setupinterlinespace[line=1.7ex]\framed[frame=off,align=middle,offset=0mm]{\smash{<div/>}\\\smash{<div >}\\\smash{</div>}}") + xsized w, + center topboundary p shifted (0,-12mm)) withcolor \MPcolor{lightorange} ; % 0.45[white,orange] ; + draw anchored.bot( + textext("\ssbf\setupinterlinespace[line=2.2ex]\framed[frame=off,align=middle]{exporting\\xml and epub\\from context}") + xsized w, + center bottomboundary p shifted (0,4mm)) withcolor \MPcolor {lesswhite} ; % 0.90white ; +) ; + +setbounds currentpicture to p ; + +\stopMPpage + +\startsection[title=Introduction] + +There is a pretty long tradition of typesetting math with \TEX\ and it looks like +this program will dominate for many more years. Even if we move to the web, the +simple fact that support for \MATHML\ in some browsers is subtoptimal will drive +those who want a quality document to use \PDF\ instead. + +I'm writing this in 2014, at a time that \XML\ is widespread. The idea of \XML\ is +that you code your data in a very structured way, so that it can be manipulated and +(if needed) validated. Text has always been a target for \XML\ which is a follow|-|up +to \SGML\ that was in use by publishers. Because \HTML\ is less structured (and also +quite tolerant with respect to end tags) we prefer to use \XHTML\ but unfortunately +support for that is less widespread. + +Interesting is that documents are probably among the more complex targets of the +\XML\ format. The reason is that unless the author restricts him|/|herself or +gets restricted by the publisher, tag|-|abuse can happen. At \PRAGMA\ we mostly +deal with education related \XML\ and it's not always easy to come up with +something that suits the specific needs of the educational concept behind a +school method. Even if we start out nice and clean, eventually we end up with a +poluted source, often with additonal structure needed to satisfy the tools used +for conversion. + +We have been supporting \XML\ from the day it showed up and most of our projects +involve \XML\ in one way or the other. That doesn't mean that we don't use \TEX\ +for coding documents. This manual is for instance a regular \TEX\ document. In +many ways a structured \TEX\ document is much more convenient to edit, especially +if one wants to add a personal touch and do some local makeup. On the other hand, +diverting from standard structure commands makes the document less suitable for +other output than \PDF. There is simply no final solution for coding your document, +it's mostly a matter of taste. + +So we have a dilemma: if we want to have multiple output, frozen \PDF\ as well as +less controlled \HTML\ output, we can best code in \XML, but when we want to code +comfortably we'd like to use \TEX. There are other ways, like markdown, that can +be converted to intermediate formats like \TEX, but that is only suitable for +simple documents: the more advanced documents get, the more one has to escape +from the boundaries of (any) document encoding, and then often \TEX\ is not a bad +choice. There is a good reason why \TEX\ survived for so long. + +It is for this reason that in \CONTEXT\ \MKIV\ we can export the content in a +reasonable structured way to \XML. Of course we assume a structured document. It +started out as an experiment because it was relatively easy to implement, and it +is now an integral component. + +\stopsection + +\startsection[title=The output] + +The regular output is an \XML\ file but as we have some more related data it gets +organized in a tree. We also export a few variants. An example is given below: + +\starttyping +./test-export +./test-export/images +./test-export/images/... +./test-export/styles +./test-export/styles/test-defaults.css +./test-export/styles/test-images.css +./test-export/styles/test-styles.css +./test-export/styles/test-templates.css +./test-export/test-raw.xml +./test-export/test-raw.lua +./test-export/test-tag.xhtml +./test-export/test-div.xhtml +\stoptyping + +Say that we have this input: + +\starttyping +\setupbackend + [export=yes] + +\starttext + \startsection[title=First] + \startitemize + \startitem one \stopitem + \startitem two \stopitem + \stopitemize + \stopsection +\stoptext +\stoptyping + +The main export ends up in the \type {test-raw.xml} export file and looks as +follows (we leave out the preamble and style references): + +\starttyping +<document> <!-- with some attributes --> + <section detail="section" chain="section" level="3"> + <sectionnumber>1</sectionnumber> + <sectiontitle>First</sectiontitle> + <sectioncontent> + <itemgroup detail="itemize" chain="itemize" symbol="1" level="1"> + <item> + <itemtag><m:math ..><m:mo>•</m:mo></m:math></itemtag> + <itemcontent>one</itemcontent> + </item> + <item> + <itemtag><m:math ..><m:mo>•</m:mo></m:math></itemtag> + <itemcontent>two</itemcontent> + </item> + </itemgroup> + </sectioncontent> + </section> +</document> +\stoptyping + +This file refers to the stylesheets and therefore renders quite okay in a browser +like FireFox that can handle \XHTML\ with arbitrary tags. + +The \type {detail} attribute tells us what instance of the element is used. +Normally the \type {chain} attribute is the same but it can have more values. +For instance, if we have: + +\starttyping +\definefloat[graphic][graphics][figure] + +..... + +\startplacefigure[title=First] + \externalfigure[cow.pdf] +\stopplacefigure + +..... + +\startplacegraphic[title=Second] + \externalfigure[cow.pdf] +\stopplacegraphic +\stoptyping + +we get this: + +\starttyping +<float detail="figure" chain="figure"> + <floatcontent>...</floatcontent> + <floatcaption>...</floatcaption> +</float> +<float detail="graphic" chain="figure graphic"> + <floatcontent>...</floatcontent> + <floatcaption>...</floatcaption> +</float> +\stoptyping + +This makes it possible to style specific categories of floats by using a +(combination of) \type {detail} and|/|or \type {chain} as filter. + +The body of the \type {test-tag.xhtml} file looks similar but it is slightly more +tuned for viewing. For instance hyperlinks are converted to a way that \CSS\ and +browsers like more. Keep in mind that the raw file can be the base for conversion +to other formats, so that one stays closest to the original structure. + +The \type {test-div.xhtml} file is even more tuned for viewing in browsers as it +completely does away with specific tags. We explicitly don't map onto native +\HTML\ elements because that would make all look messy and horrible, if only +because there seldom is a relation between those elements and the original. One +can always transform one of the export formats to pure \HTML\ tags if needed. + +\starttyping +<body> + <div class="document"> + <div class="section" id="aut-1"> + <div class="sectionnumber">1</div> + <div class="sectiontitle">First</div> + <div class="sectioncontent"> + <div class="itemgroup itemize symbol-1"> + <div class="item"> + <div class="itemtag"><m:math ...><m:mo>•</m:mo></m:math></div> + <div class="itemcontent">one</div> + </div> + <div class="item"> + <div class="itemtag"><m:math ...><m:mo>•</m:mo></m:math></div> + <div class="itemcontent">two</div> + </div> + </div> + <div class="float figure"> + <div class="floatcontent">...</div></div> + <div class="floatcaption">...></div> + </div> + <div class="float figure graphic"> + <div class="floatcontent">...</div></div> + <div class="floatcaption">...></div> + </div> + </div> + </div> +</body> +\stoptyping + +The also default \CSS\ file can deal with tags as well as classes. The additional +styles file contains definitions of so called highlights. In the \CONTEXT\ source +one can better use explicit named highlights instead of local font and color +switches because these properties are then exported to the \CSS. The images style +defines all used images. The templates file lists all the used elements and can +be used as a starting point for additional \CSS\ styling. + +Keep in mind that the export is \notabene{not} meant as a one|-|to|-|one visual +representation. It represents structure so that it can be converted to whatever +you like. + +In order to get an export you must start your document with: + +\starttyping +\setupbackend + [export=yes] +\stoptyping + +So, we trigger a specific (extra) backend. In addition you can set up the export: + +\starttyping +\setupexport + [svgstyle=test-basic-style.tex, + cssfile=test-extras.css, + hyphen=yes, + width=60em] +\stoptyping + +The \type {hyphen} option will also export hyphenation information so that the +text can be nicely justified. The \type {svgstyle} option can be used to specify +a file where math is setup, normally this would only contain a bodyfont setup +and this option is only needed if you want to create an \EPUB\ file afterwards that +has math represented as \SVG. + +The value of \type {cssfile} ends up as style reference in the exported files. +You can also pass a comma separates list of names (between curly braces). These +entries come after those of the automatically generated \CSS\ files so you need +to be aware of default properties. + +\stopsection + +\startsection[title=Images] + +Inclusion of images is done in an indirect way. Each image gets an entry in a +special image related stylesheet and then gets referred to by \type {id}. Some +extra information is written to a status file so that the script that creates +\EPUB\ files can deal with the right conversion, for instance from \PDF\ to \SVG. +Because we can refer to specific pages in a \PDF\ file, this subsystem deals with +that too. Images are expected in an \type {images} subpath and because in \CSS\ +the references are relative to the path where the stylesheet resides, we use +\type {../images} instead. If you do some postprocessing on the files or relocate +them you need to keep in mind that you might have to change these paths in the +image related \CSS\ file. + +\stopsection + +\startsection[title=Epub files] + +At the end of a run with exporting enabled you will get a message to the console that +tells you how to generate an \EPUB\ file. For instance: + +\starttyping +mtxrun --script epub --make --purge test +\stoptyping + +This will create a tree with the following organization: + +\starttyping +./test-epub +./test-epub/META-INF +./test-epub/META-INF/container.xml +./test-epub/OEBPS +./test-epub/OEBPS/content.opf +./test-epub/OEBPS/toc.ncx +./test-epub/OEBPS/nav.xhtml +./test-epub/OEBPS/cover.xhtml +./test-epub/OEBPS/test-div.xhtml +./test-epub/OEBPS/images +./test-epub/OEBPS/images/... +./test-epub/styles +./test-epub/styles/test-defaults.css +./test-epub/styles/test-images.css +./test-epub/styles/test-styles.css +./test-epub/mimetype +\stoptyping + +Images will be moved to this tree as well and if needed they will be converted +into for instance \SVG. Converted \PDF\ files can have a \typ {page-<number>} in +their name when a specific page has been used. + +You can pass the option \type {--svgmath} in which case math will be converted to +\SVG. The main reason for this feature is that we found out that \MATHML\ support +in browsers will not be as widespread as expected. The best bet is FireFox which +natively supports it. The Chrome browser had it for a while but it got dropped +and math is now delegated to \JAVASCRIPT\ and friends. In Internet Explorer +\MATHML\ should work (but I need to test that again). This conversion mechanism is +kind of interesting: one enters \TEX\ math, then gets \MATHML\ in the export, and +that gets rendered by \TEX\ again, but now as standalone snippet that then gets +converted to \SVG\ and embedded in the result. + +\stopsection + +\startsection[title=Styles] + +One can argue that we should use native \HTML\ elements but we don't have a nice +guaranteed consistent mapping onto that so it makes no sense to do so. Instead we +rely on either explicit tags with details and chains or divisions with classes +that combine the tag, detail and chain. The tagged variant has some more +attributes and those that use a fixed set of values become classes in the +division variant. Also, once we start going the (for instance) \type {H1}, \type +{H2}, etc.\ route we're lost when we have more levels than that or use a +different structure. If an \type {H3} can reflect several levels it makes no +sense to use it. The same is true for other tags: if a list is not really a list +than tagging it with \type {LI} is counterproductive. We're often dealing with +very complex documents so basic \HTML\ tagging is rather meaningless then. + +If you look at the division variant (the one used for \EPUB\ too) you will notice +that there are no empty elements but \type {div} ones with a comment as content. +This is needed because otherwise they get ignored which for instance makes table +cells invisible. + +The relation between \type {detail} and \type {chain} (reflected in \type {class}) +can best be seen from the next example. + +\starttyping +\definefloat[myfloata] +\definefloat[myfloatb][myfloatbs][figure] +\definefloat[myfloatc][myfloatcs][myfloatb] +\stoptyping + +This creates two new float instances. The first inherits from the main float +settings, but can have its own properties. The second example inherits from +the \type {figure} so in fact it is part of a chain. The third one has a longer +chain. + +\starttyping +<float detail="myfloata">...</float> +<float detail="myfloatb" chain="figure">...</float> +<float detail="myfloatc" chain="figure myfloatb">...</float> +\stoptyping + +In a \CSS\ style you can now configure tags, details, and chains as well as +classes (we only show a few possibilities): + +\starttyping +div.float.myfloata { } float[detail='myfloata'] { } +div.float.myfloatb { } float[detail='myfloatb'] { } +div.float.figure { } float[detail='figure'] { } +div.float.figure.myfloatb { } float[chain~='figure'][detail='myfloata'] { } +div.myfloata { } *[detail='myfloata'] { } +div.myfloatb { } *[detail='myfloatb'] { } +div.figure { } *[chain~='figure'] { } +div.figure.myfloatb { } *[chain~='figure'][detail='myfloatb'] { } +\stoptyping + +The default styles cover some basics but if you're serious about the export +or want to use the \EPUB\ then it makes sense to overload some of it and|/|or +provide additional styling. You can find enough about \CSS\ and it's options +on the internet. + +\stopsection + +\startsection[title=Coding] + +The default output reflects the structure present in the document. If this is not +enough you can add your own structure. + +\starttyping +\startelement[question] +Is this right? +\stopelement +\stoptyping + +You can also pass attributes: + +\starttyping +\startelement[question][level=difficult] +Is this right? +\stopelement +\stoptyping + +But these will only be exported when you also say: + +\starttyping +\setupexport + [properties=yes] +\stoptyping + +You can create a namespace. The following will generate attributes +like \type {my-level}. + +\starttyping +\setupexport + [properties=my-] +\stoptyping + +In most cases it makes more sense to use highlights: + +\starttyping +\definehighlight + [important] + [style=bold] +\stoptyping + +This has the advantage that the style and color are exported to a special +\CSS\ file. + +Headers and footers and other content that is part of the page builder is not +exported. If your document has coverpages you might want to hide them too. The +same is true when you create special chapter title rendering that have as side +effect that content ends up in the page stream. If something shows up that you +want to, you can wrap it in an \type {ignore} element: + +\starttyping +\startelement[ignore] +Don't export this. +\stopelement +\stoptyping + +\stopsection + +\stoptext diff --git a/doc/context/sources/general/manuals/workflows/workflows-graphics.tex b/doc/context/sources/general/manuals/workflows/workflows-graphics.tex index 25eed7bee..dc3c6e106 100644 --- a/doc/context/sources/general/manuals/workflows/workflows-graphics.tex +++ b/doc/context/sources/general/manuals/workflows/workflows-graphics.tex @@ -129,6 +129,28 @@ the tables passed as third argument. \stopsection +\startsection[title=Trackers] + +If you want a lot of info you can say: + +\starttyping +\enabletrackers[figures.*] +\stoptyping + +But you can be more specific. With \type {graphics.locating} you will get some +insight in where files are looked for. The \type {graphics.inclusion} tracker +gives some more info about actual inclusion. The \type {graphics.bases} is kind +of special and only makes sense when you use the graphic database options. The +\type {graphics.conversion} and related tracker \type {graphics.programs} show if +and how conversion of images takes place. + +The \type {graphics.lognames} will make sure that some extra information about +used graphics is saved in the log file, while \type {graphics.usage} will produce +a file \typ {<jobname>-figures-usage.lua} that contains information about found +(or not found) images and the way they are used. + +\stopsection + \stopchapter \stopcomponent |