核心问题是如何将 dtx 文件的一部分转换为纯 LaTeX。
在进一步了解包时,我想使用 dtx 中的示例?输出显示在 pdf 中。但是,dtx 的代码布局如下:
% \latexcommand
% some text that prints
% \morelatexcode
我无法确定需要哪些包,以及为什么仅删除“%”不起作用。我想使用的代码来自 longtable.dtx,但还有其他 dtx 文件包含有趣的示例,我想使用它们。
答案1
我回答了你关于 的问题longtable
。你不能从 .dtx 中取出代码片段并期望它们能工作的原因与你不能从任何其他 TeX 文件中提取代码片段并期望它能工作的原因相同:它可能依赖于它之前的东西。
不可能给出一个通用的解决方案,但诀窍是运行 TeX 并查看收到的错误消息,该错误消息几乎肯定是未定义的控制序列。然后,在 .dtx 中找到定义控制序列的代码片段并将其复制过去。重复此操作直到编译成功。
答案2
以下是我所采用的步骤。
- 将 .dtx 复制到 .tex。我的示例:
cp longtable.dtx longtable_eg.tex
编辑 longtable_eg_dtx.tex
- 将“^( *)\”替换为“%%% \0\”,将“^( +)”替换为“%%% \0”,这将注释所有 dtx 命令。
s/^( *)\\/\%\%\% \0\\/
s/^( +)/\%\%\% \0/
- 在顶部插入行
\documentclass{ltxdoc}
\usepackage{longtable}
\begin{document}
对于初始 \if /fi 对之后的行:
%%% \documentclass{ltxdoc}
%%% \usepackage{longtable}
%%% \begin{document}
插入
\end{document}
到末尾。取消注释不在 \if - \fi 对中的部分,靠近每行顶部以“%”开头的部分
编译(至少两次)
查看结果