如何在LaTeX文档中显示LaTeX代码?
我有一个小问题,我想插入一个乳胶文档的svn差异到 另一个LaTeX文档,目标是显示自修订版XXX以来发生的变化。 然而,由于diff包含大量的LaTeX命令,我不能将其直接包含到文档中,因为LaTeX将对它们进行解释,而不仅仅是“打印”它们 今天我在我的Makefile中有这个如何在LaTeX文档中显示LaTeX代码?,latex,Latex,我有一个小问题,我想插入一个乳胶文档的svn差异到 另一个LaTeX文档,目标是显示自修订版XXX以来发生的变化。 然而,由于diff包含大量的LaTeX命令,我不能将其直接包含到文档中,因为LaTeX将对它们进行解释,而不仅仅是“打印”它们 今天我在我的Makefile中有这个 DIFF_INFO=diff.info.tex DIFF_REV=167 diffinfo: $(shell echo "\n" > $(DIFF_INFO) ) $(shell echo "\\
DIFF_INFO=diff.info.tex
DIFF_REV=167
diffinfo:
$(shell echo "\n" > $(DIFF_INFO) )
$(shell echo "\\section{diff $(DIFF_REV)} \n" >> $(DIFF_INFO) )
$(shell echo \\\\begin{verbatim} >> $(DIFF_INFO) )
$(shell svn diff --revision $(DIFF_REV) $(N).tex >> $(DIFF_INFO) )
$(shell echo \\\\end{verbatim} >> $(DIFF_INFO) )
在LaTeX文档的末尾,我有以下内容:
\IfFileExists{diff.info.tex}
{
\newpage
\input{diff.info.tex}
}
但这很难成功
我的下一个想法是编写一个perl脚本,用LaTeX可以显示的内容替换所有无效字符,但感觉好像我在冒险重新发明轮子,所以我想我可以问问是否有人有更好的想法
如何在文档中包含和显示LaTeX代码
谢谢
约翰
更新: 感谢“未知(谷歌)”一字不差地指出,它做到了我想要的 更新: 我还觉得我应该试试las3rjock告诉我们的列表,因为它看起来不错 更新:
在我的例子中,无法使列表工作,我收到一些关于无效字符的奇怪utf警告。但是逐字记录正在工作,所以这次我将使用这种方式。有一个
逐字记录
软件包,您可以将它包含在\usepackage{verbatim}
中,并使用\verbatiminput{/code>文件名对您使用该软件包的另一个答案的评论中,我支持Boojum的建议。对于LaTeX代码清单,我使用在AndréMiede的包中找到的设置。下面是一个示例文档(quine.tex
)及其输出:
\documentclass[12pt,letterpaper]{article}
\usepackage{listings}
\usepackage[usenames,dvipsnames]{color}
% listings settings from classicthesis package by
% Andr\'{e} Miede
\lstset{language=[LaTeX]Tex,%C++,
keywordstyle=\color{RoyalBlue},%\bfseries,
basicstyle=\small\ttfamily,
%identifierstyle=\color{NavyBlue},
commentstyle=\color{Green}\ttfamily,
stringstyle=\rmfamily,
numbers=none,%left,%
numberstyle=\scriptsize,%\tiny
stepnumber=5,
numbersep=8pt,
showstringspaces=false,
breaklines=true,
frameround=ftff,
frame=single
%frame=L
}
\begin{document}
\lstinputlisting{quine.tex}
\end{document}
同意。我打算推荐listings包,它在\lsInputListing{filename}命令中提供了相同的功能。特别是对于以编程方式生成的文件(如diff),这是一种方法,因为它将包含的TeX文件保持为一个漂亮、干净的模板。我几乎在所有场合都避免逐字逐句。这是清单软件包的最佳解决方案之一。我甚至做了一个特殊的include,它为php、xml、sql等定义了一些语言设置。。。