在 TeX 文档中逐字重现 SE

在 TeX 文档中逐字重现 SE

在 LaTeX 文档中,如何生成像 StackExchange 网站中那样的逐字表达式来编写代码?例如,,example其中会有一个灰色框突出显示文本。我知道\verb,但不确定这是否可以实现。有什么想法吗?以前有人回答过这个问题吗?

如果我使用了错误的术语,请原谅,我很乐意收到有关如何了解这一点的任何建议。

答案1

您有两个主要解决方案:mintedlistings。它们给出类似的结果,但minted设置起来更困难,因为您需要 1) 安装特定的 Python 模块和 2) 通过激活 shell 转义在 LaTeX 中打开安全风险。

因此我建议使用listings,它开箱即用,无需外部安装,也无需特殊选项。以下是一个小示例:

\documentclass{article}
\usepackage{listings}

\begin{document}

\begin{lstlisting}[language=Python, numbers=left, frame=single]
# A Python example
import numpy as np
t = np.linspace(0, 10, 150)
\end{lstlisting}
    
\begin{lstlisting}[language={[LaTeX]TeX}, numbers=left, frame=single]
% A LaTeX example
\begin{itemize}
\item foo
\item bar
\end{itemize}
\end{lstlisting}
    
\end{document}

结果

当然,也可以通过语言来调整外观,包括彩色语法突出显示。

lstlisting环境中,它逐字代码,因此默认情况下您无法执行您想要执行的 LaTeX 命令。如果需要,有一个解决方案,请escapechar在文档中查找选项。我习惯\label在代码中插入命令,以便以后可以引用特定的行。

相关内容