在 LaTex / LyX 中添加编程代码

在 LaTex / LyX 中添加编程代码

也许我只是太笨了,但是我找不到任何合理的方法将我的(python)代码粘贴到 latex 中而不丢失所有的缩进信息(这对 python 来说很重要)。

有人有什么好主意吗?我不担心语法高亮;我只想找回我的 Tab 键!

答案1

我最喜欢的环境铸造。我用它来输入整个源文件,例如:

\inputminted[linenos,fontsize=\scriptsize]{python}{script.py}

您也可以在不输入文件的情况下使用它,更重要的是,定义它缩进多少狼吞虎咽粘贴后:

\newminted{python}{gobble=4,linenos,fontsize=\scriptsize}
\begin{pythoncode}
    print('I am a Python script')
\end{pythoncode}

这样,您的 LaTeX 仍会很好地缩进,但您的逐字代码则不会。这还提供了语法突出显示,我知道您提到过您对此不感兴趣。只是不要定义语言。

答案2

您将需要使用 verbatim 环境:http://web.mit.edu/vogt/www/latex/ltx-79.html

如果问题在粘贴时立即出现...您是否使用 IDE 制作文档?尝试在纯文本编辑器(如 gedit 或记事本)中打开文件。

答案3

我会按照 fideli 的建议去做minted,但最好知道包裹listings,这是该问题的纯 Latex 解决方案。

minted源自皮格门特斯,一个用 Python 编写的源代码高亮器。coimes minted使用 Latex 桥接器,基于\write18,和包裹texments为 Pygments 提供了一个。据我所知,与 Pygments 相比,它没有任何缺点minted:也许两者在某个时候会合并。

答案4

对于 LyX,请参阅(使用“列表”格式导入子文档)。

相关内容