如何在LaTeX / LyX中添加(大)代码附录?

时间:2011-03-15 10:32:19

标签: latex lyx

我想在我的LyX文档中添加代码附录。我已经考虑过一些选择,但他们都有问题。

我对列表有一点了解,但有一个问题是,如果我复制&将我的代码粘贴到它们中,我丢失所有输入/换行符。由于代码太大而无法手动纠正,我想知道是否有替代方案。

在LyX中可以插入子文档,但这似乎只适用于.tex文件。如果我可以将我的.java文件作为子文档插入,那将是理想的。

我可以将代码打印到PDF,但它会包含弄乱最终文档的边距,因为PDF放在最终文档的左边缘而然后有边距PDF。此外,此PDF始终包含整个代码和白色区域,而不是整个页面已填充。

有没有人有好的选择?

4 个答案:

答案 0 :(得分:7)

此处的商品包

http://www.ctan.org/tex-archive/macros/latex/contrib/listings/

允许包含外部源代码文件(查看\lstinputlisting的参考文献。)

编辑:在这里您可以找到一些示例如何使用它:

http://en.wikibooks.org/wiki/LaTeX/Packages/Listings

答案 1 :(得分:3)

如果您需要将代码复制粘贴到LyX列表框,请使用编辑 - >选择性粘贴 - >选择或Ctrl + Alt + V.

答案 2 :(得分:2)

对于它的价值,至少2.0版本的LyX能够将列表作为子文档包含在内。插入,文件,子文档,并从下拉框“程序列表”中进行选择。这使用listings包,并允许您将源保存在自己的文件中。

如果商家信息不支持您的语言,您可以随时使用highlightsource-highlight之类的内容生成语法高亮显示的代码的乳胶片段,您可以将其添加为类型为“的子文档”输入“

答案 3 :(得分:1)

是的,如果您将代码复制并粘贴到LyX列表框中,则会丢失所有换行符,但您可以预处理代码(在每行下方插入额外的换行符):

$ cat foo.java | sed -e 's/$/\n/' > bar.java

然后你可以复制并粘贴新文件 bar.java ,一切都会好的。