【问题标题】:How to add a (large) code appendix in LaTeX / LyX?如何在 LaTeX / LyX 中添加(大)代码附录?
【发布时间】:2011-03-15 10:32:19
【问题描述】:

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

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

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

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

有人有好的选择吗?

【问题讨论】:

  • Y考虑在tex.stackexchange.com上发布您的问题。
  • @Bernard @Remix 考虑迁移此问题...不鼓励交叉发布。如果您想迁移,只需标记以引起 mod 注意。

标签: latex lyx


【解决方案1】:

在此处找到的列表包

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

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

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

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

【讨论】:

  • 我相信外部资源必须是 .sty 或 .tex 类型。如果我放入一个 .java 文件,它会给出错误:***(无法在不间断模式下从终端读取)。但是,我不知道它的真正含义。
  • @RemiX:看看我在上面发布的第二个链接。
  • 谢谢。我还决定将 LyX 文档导出到 LaTeX,这样我就可以使用实际命令进行更多控制。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    不管怎样,至少 LyX 2.0 版本能够将列表作为子文档包含在内。插入、文件、子文档,然后从下拉框“程序列表”中选择。这使用了listings 包,让您可以将源代码保存在自己的文件中。

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-26
        • 1970-01-01
        • 2015-05-17
        • 2010-10-17
        相关资源
        最近更新 更多