我正在建立一个项目l3build。我想在文档中展示一些示例,展示它们的源代码,并注释文档条,以及它们用来\includegraphics
提取从提取的示例源代码生成的 PDF 的输出。它们看起来大致如下:
examples.dtx
:% \begin{macrocode} \documentclass[a8paper]{scrartcl} \begin{document} %<*italic> % \end{macrocode} % Here is some italic text. % \begin{macrocode} \textit{Lorem ipsum} % \end{macrocode} % \begin{macrocode} %</italic> %<*bold> % \end{macrocode} % And here is some bold text. % \begin{macrocode} \textbf{Lorem ipsum} %</bold> % \end{macrocode} % That is all. % \begin{macrocode} \end{document} % \end{macrocode}
examples.ins
:\input docstrip.tex \generate{\file{italic.tex}{\from{examples.dtx}{italic}}} \generate{\file{bold.tex}{\from{examples.dtx}{bold}}} \endbatchfile
documentation.drv
:\documentclass{ltxdoc} \usepackage{graphicx} \begin{document} Let me present some examples. \DocInput{examples.dtx} This is how the examples look when compiled. \\ \includegraphics{italic.pdf} \\ \includegraphics{bold.pdf} \end{document}
build.lua
:#!/usr/bin/env texlua -- build.lua - not working module = "example" typesetfiles = {"documentation.drv"} kpse.set_program_name("kpsewhich") dofile(kpse.lookup("l3build.lua"))
shell 命令执行预期
build.lua
要做的事情(typeset.sh
):tex *.ins for doc in *.tex do pdflatex "$doc" done pdflatex *.drv
我甚至想到了一些相当激烈的措施,比如重新定义函数typeset
。arara
但我似乎无法配置 l3build 来正确编译文档。示例不需要在任何 TDS 或 中分发 *.zip
,但必须在排版文档之前解压并编译它们。这可以用 l3build 来完成吗?