6

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

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

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

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

有没有人有好的选择?

4

4 回答 4

8

在这里找到的列表包

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

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

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

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

于 2011-03-15T10:48:19.623 回答
3

If you need to copy-paste code to LyX listing box then use Edit -> Paste Special -> Seletion or Ctrl+Alt+V.

于 2011-04-04T13:11:55.300 回答
2

值得一提的是,至少 2.0 版本的 LyX 能够将列表作为子文档包含在内。插入、文件、子文档,然后从下拉框“程序列表”中选择。这使用listings包,并允许您将源代码保存在自己的文件中。

如果列表不支持您的语言,您始终可以使用highlightsource-highlight来生成语法高亮代码的乳胶片段,您可以将其添加为“输入”类型的子文档

于 2012-02-23T23:53:02.093 回答
1

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

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

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

于 2011-03-16T13:40:28.330 回答