我正在尝试在 LaTeX 文档中引用(而不是编译!)LaTeX 代码(包括 TikZ 代码)。该verbatim
包可以工作,但它不会换行,而且看起来不太好看。所以我尝试使用该包listings
,但遇到了问题:
当我尝试编译时,引用的代码出现了问题,而它应该只是将其视为文本!我想这是因为它试图给语法着色或类似的东西,但此时这会是一个额外的好处——我只希望代码看起来漂亮并换行(而不是在内编译\begin{lstlisting}
)。
另外,我使用 LaTeX 文档中的 TikZ 代码似乎也出现了listings
问题。
\usepackage{listings}
\lstset{
language=TeX,
defaultdialect=empty,
basicstyle=\footnotesize,
numbers=left,
numberstyle=\footnotesize,
stepnumber=5,
numbersep=5pt,
backgroundcolor=\color{white},
showspaces=false,
showstringspaces=false,
showtabs=false,
frame=single,
tabsize=2,
captionpos=b,
breaklines=true,
breakatwhitespace=false,
escapeinside={\%}{)}
}
\begin{document}
The document begins. A bunch of regular Latex code and TikZ pictures here.
\begin{lstlisting}
%Set domain, range, and scale of picture.
\begin{tikzpicture}[domain=0:100,range=0:200,scale=0.7,thick]
\usetikzlibrary{calc}
%Define linear parameters
\def\inc{10} %Total freight.
\def\pa{1} %Price of x1.
\def\pb{1} %Price of x2.
\def\panew{0.5} %New price for x1.
% Define coordinates.
\coordinate (x2) at (0,{\inc/\pb});
\coordinate (x1) at ({\inc/\pa},0);
\coordinate (x1') at ({\inc/\panew},0);
\end{lstlisting}
\end{document}
注意:我不希望 TikZ 图片在里面渲染\begin{lstlisting}
,我只想能够显示代码。其中的 LaTeX 代码也一样。
有没有更好的方法来解决这个问题?
答案1
您明确要求将从 a%
到下一个的所有内容)
都作为 LaTeX 代码执行,删除该行escapeinside={\%}{)}
可以解决此问题。