【问题标题】:Temporarily changing document class in LaTeX/resetting pdfLaTeX临时更改 LaTeX 中的文档类/重置 pdfLaTeX
【发布时间】:2025-12-13 16:40:01
【问题描述】:

我怎样才能暂时让 pdfLaTeX 忘记我告诉它的所有内容并从一个新的文档类开始?

我已经修改了 lshort 文档中的示例环境:

\newwrite\examplesx@out \新环境{examplesx}{% % 让更改保持在本地 \@bsphack \immediate\openout \examplesx@out \jobname.exa \let\do\@makeother\dospecials\catcode`\^^M\active \def\verbatim@processline{% \立即\写\examplesx@out{\the\verbatim@line}}% \逐字@开始 }{% \立即\closeout\examplesx@out\@esphack\endgroup% \noindent\makebox[\textwidth][l]{% \begin{minipage}[c]{0.45\textwidth}% \small\verbatiminput{\jobname.exa} \end{minipage}% \hspace*{0.1\textwidth}% \框框{% \begin{minipage}{0.45\textwidth}% \small\input{\jobname.exa}% \end{小页面} }% }\vspace*{\parskip}% }

它大部分都有效,但我希望能够做类似的事情

\开始{examplesx} \section{部分} \结束{examplesx}

并将其显示为框中的一个部分。我也希望它使用标准的article 样式排版列表,即使我在beamer 中使用它

【问题讨论】:

    标签: latex pdflatex


    【解决方案1】:

    我认为最简单的方法是编译一些小文档,然后将生成的 pdf 作为图像包含到较大的文档中。即使不完全是您想要的,也要简单得多。我这样做是为了在 Beamer 演示文稿中展示 LaTeX 文章的样子。

    当然,如果您想在 beamer 中拥有一个非常简单的文档(例如,一个简单的文本块),我可以建议您使用包含一些文本的 TikZ“图片”来模仿该文档。

    【讨论】:

    • 作为旁注,不能在文档中更改课程是我反对memoir 课程的原因。它有很多用户喜欢的特性,但你必须将它用作你的类。这些功能应该(并且可以找到许多实际功能)作为其他包,因此它们可以在标准甚至其他(可能是必需的)文档类中使用。
    【解决方案2】:

    也许是另一种方法:与其尝试在 beamer 中排版,就好像它们将在文章中完成一样,只需使用文章文档类对它们进行排版,并将结果包含在 beamer 文档中。

    使用tcolorbox,这可以自动完成:

    % !TeX program = txs:///arara
    % arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}
    
    \documentclass{beamer}
    \usepackage[most]{tcolorbox}
    
    \begin{document}
    
    \begin{frame}[fragile]
    
    \begin{tcblisting}{
        comment only,
      pdf comment,
      compilable listing,
      run pdflatex,
    }
    \documentclass{article}
    \begin{document}
    \section{Section Title}
    test
    \end{document}
    \end{tcblisting}
    
    \end{frame}
    
    \end{document}
    

    【讨论】: