有什么方法可以显示 LaTeX 示例代码并执行它吗?

有什么方法可以显示 LaTeX 示例代码并执行它吗?

在 (La)TeX 文档和教程中,通常会在其生成的输出旁边显示一段代码。它可能是并排的两个小页面,或代码列表后跟框式输出,或其他任何内容。举一个简单的例子,我们可能会看到

\[ sin \theta \]在其输出旁边,θ

每当我这样做的时候,我都必须使用两份代码,例如,一次在里面verbatim迷你页面或框架框内,另一份在迷你页面或框架框内)。这只会导致不一致和可维护性问题,因为很容易修复一份副本,而另一份副本则很难修复。所以,有什么办法可以显示一堆代码执行它(的副本)并显示结果?

我确信这并不简单:代码需要有不同的 catcode 来读取和显示,但 catcode 只会在遇到文本时分配一次。但如果没有更好的方法,应该可以通过逐字读取代码并在文件中保存副本来实现.aux,下次从那里读取和解释它。但我从未见过这样的事情。这里还有其他人吗?

答案1

这两个包都提供了操作输出的选项。这些选项演示了默认行为。

选项1:包裹showexpl

此方法使用包listings。操作通过 LaTeX 命令完成。

\documentclass{article}
\usepackage{showexpl}
\begin{document}
\begin{LTXexample}
$1+1=2$
\end{LTXexample}
\end{document}

在此处输入图片描述

选项 2:包裹tcolorbox

此包用于listings格式化代码并使用 TikZ 绘制框架。基于此,您有很多选择。

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{listings}
\begin{document}
\begin{tcblisting}{}
1+1=2
\end{tcblisting}
\end{document}

在此处输入图片描述


答案2

其中一种方法是:

\documentclass{article}

\usepackage{verbatim}

\begin{document}
\verbatiminput{items.tex}

\input{items.tex}
\end{document}

其中items.tex有类似这样的内容:

\begin{itemize}
\item one
\item two
\item three
\end{itemize}

相关内容