我怎样才能暂时让 pdfLaTeX 忘记我告诉它的所有内容并从一个新的文档类开始?
我修改了 lshort 文档中的示例环境:
\newwrite\examplesx@out \newenvironment{示例x}{% \begingroup%让我们保持本地变化 \@bsphack \immediate\openout \examplesx@out \jobname.exa \let\do\@makeother\dospecials\catcode`\^^M\active \def\verbatim@processline{% \immediate\write\examplesx@out{\the\verbatim@line}}% \逐字@开始 }{% \immediate\closeout\examplesx@out\@esphack\endgroup% \noindent\makebox[\textwidth][l]{% \begin{minipage}[c]{0.45\textwidth}% \small\verbatiminput{\jobname.exa} \结束{迷你页面}% \hspace*{0.1\textwidth}% \framebox{% \开始{minipage}{0.45\textwidth}% \small\input{\jobname.exa}% \end{迷你页面} }% }\vspace*{\parskip}% }
它基本上可以工作,但我希望能够做类似的事情
\begin{示例} \section{部分} \结束{示例}
并让它显示为框中的一个部分。我还希望它使用标准article
样式排版列表,即使我在beamer
答案1
你不能。LaTeX 大多数情况下都假设全局操作。
对于你试图解决的问题,我不知道思考有没有“固定”的工作流程可以做到这一点。我的一般方法是
- 将示例写到辅助文件中(包括一些预先准备好的序言),
- 使用预览包单独编译辅助文件以获取裁剪图像,然后
- 将生成的图像插入其中。
您可以在 fontspec 文档的源代码中找到一个稍微复杂的例子(字体规格.dtx) 从以 开始的行开始\newenvironment{Fexample}
。它用于fancyvrb
逐字写入,并使用 '即时' 完成编译\immediate\write18
。(否则,您可以使用 shell 脚本。)