diff options
Diffstat (limited to 'tex/context/base/mtx-context-listing.tex')
-rw-r--r-- | tex/context/base/mtx-context-listing.tex | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/tex/context/base/mtx-context-listing.tex b/tex/context/base/mtx-context-listing.tex new file mode 100644 index 000000000..d0dbcbba0 --- /dev/null +++ b/tex/context/base/mtx-context-listing.tex @@ -0,0 +1,100 @@ +%D \module +%D [ file=mtx-context-listing, +%D version=2008.11.10, % about that time i started playing with this +%D title=\CONTEXT\ Extra Trickry, +%D subtitle=Listing Files, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D This is a \TEXEXEC\ features that has been moved to \MKIV. + +% begin help +% +% usage: context --extra=listing [options] list-of-files +% +% --sort : sort filenames first +% --topspace=dimension : distance above first line +% --backspace=dimension : distance before left margin +% --pretty : pretty print comform suffix (temporarily disabled) +% --bodyfont=list : additional bodyfont settings +% --paperformat=spec : paper*print or paperxprint +% +% end help + +\input mtx-context-common.tex + +\setupbodyfont + [11pt,tt,\getdocumentargument{bodyfont}] + +\setuptyping + [lines=yes] + +\setuplayout + [header=0cm, + footer=1.5cm, + topspace=\getdocumentargumentdefault{topspace}{1.5cm}, + backspace=\getdocumentargumentdefault{backspace}{1.5cm}, + width=middle, + height=middle] + +\setuppapersize + [\getdocumentargument{paperformat_paper}] + [\getdocumentargument{paperformat_print}] + +% \startluacode +% -- syntax check +% local topspace = dimen(document.arguments.topspace or 0) +% local backspace = dimen(document.arguments.backspace or 0) +% local zeropoint = dimen(0) +% if topspace > zeropoint then +% context.setuplayout { topspace = tostring(topspace) } +% end +% if backspace > zeropoint then +% context.setuplayout { backspace = tostring(backspace) } +% end +% \stopluacode + +\starttext + +\startluacode + local types = { + mkiv = "tex", + mkii = "tex", + cld = "lua", + lfg = "lua", + } + + if #document.files > 0 then + if document.arguments.sort then + table.sort(document.files) + end + for _, filename in ipairs(document.files) do + if not string.find(filename,"^mtx%-context%-") then + local pretty = document.arguments.pretty + if pretty == true then + pretty = file.extname(filename) or "" + elseif pretty == false then + pretty = "" + else + -- forced + end + context.page() + context.setupfootertexts( -- return true: we need to keep this entry + { function() context.detokenize(file.basename(filename)) return true end }, + { function() context.pagenumber() return true end } + ) + context.setuptyping { option = types[pretty] or pretty } + context.typefile(filename) + end + end + else + context("no files given") + end +\stopluacode + +\stoptext |