也许我只是很厚,但是我找不到任何明智的方法来简单地将我的(python)代码粘贴到latex中而不会丢失所有缩进信息(对于python来说很重要)。
有人有什么好主意吗?我并不担心语法高亮;我想要的只是我的标签键!
也许我只是很厚,但是我找不到任何明智的方法来简单地将我的(python)代码粘贴到latex中而不会丢失所有缩进信息(对于python来说很重要)。
有人有什么好主意吗?我并不担心语法高亮;我想要的只是我的标签键!
Answers:
我最喜欢的环境 崛起 。我用它来输入整个源文件,例如:
\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仍然很好地缩进,但你的逐字代码却没有。这也提供了语法高亮,我知道你提到的你不感兴趣。只是不要定义语言。
您将要使用逐字环境: http://web.mit.edu/vogt/www/latex/ltx-79.html
如果在将其粘贴到问题时立即出现问题...您是否使用IDE来制作文档?尝试在gedit或notepad等纯文本编辑器中打开文件。
我会去的 minted
正如fideli建议的那样,但是要注意这一点很好 该 listings
包 ,这是一个纯乳胶解决问题的方法。
minted
源于 Pygments来做 ,用Python编写的源荧光笔。 minted
以乳胶桥为基础的coimes \write18
,和 该 texments
包 为Pygments提供一个。没有任何缺点 minted
与我所知道的Pygments相比:也许两者将在某个时刻合并。
要使用列表包,您必须在序言中包含该包并加载必要的语言:
\usepackage{listings}
\lstloadlanguages{Python}
在文档中设置一些选项:
\lstset{language=Python,tabsize=2}
...然后你可以内联片段:
\begin{lstlisting}
print ("Hello, World!")
\end{lstlisting}
...或从文件中读取它们:
\lstinputlisting[firstline=10,lastline=20]{Hello.py}
...或者内联编写代码: \lstinline!print ("Hello, World!")!