所需功能

所需功能

我写了一篇论文,想把我的代码/文本文件放在附录中。我不想复制代码,我只想把我的文件路径写入tex。

我已经尝试过了\verbatiminput{main.py}\lstinputlisting[language=Python]{main.py}但是我需要对行进行编号。

所需功能

  • 编号行
  • 从文本文件加载(不复制)

很高兴有这样的功能

这些功能很好,但我可以设法解决。

  • 使用制表符作为缩进
  • 如果行太长,则换行

完全没有必要,但有的话很好

有没有简单的方法来突出显示python语法?


编辑

作为MadyYuvi 建议我试过了\lstinputlisting。在一个文件中,我得到了一个 umalut (ä),因此编译失败。
! Package inputenc Error: Invalid UTF-8 byte "A4.
在德国论坛上我找到了一个建议,\usepackage{listingsutf8}但它没有帮助。

编辑

最小工作示例(MWE)

文档.tex
\documentclass{article}
\usepackage{listingsutf8}

\begin{document}

\lstinputlisting[numbers=left,numberstyle=\tiny,language=Python,breaklines=true,breakatwhitespace=true,breakindent=12pt,]{main.py}

\end{document}
主程序
#!/usr/bin/env python3
print('I have got umlauts like ä,ö,ü in my code.')

答案1

也许这有帮助..,

\documentclass{book}
\usepackage{listings}

\begin{document}

\lstinputlisting[numbers=left,numberstyle=\tiny,language=Python,breaklines=true,breakatwhitespace=true,breakindent=12pt,]{test.py}

\end{document}

更新

如果编程代码中有任何特殊字符,请尝试以下方法MWE

\documentclass{article}
\usepackage[T2A,T1]{fontenc}
\usepackage{listingsutf8}
\begin{document}

\lstinputlisting[numbers=left,numberstyle=\tiny,language=Python,breaklines=true,breakatwhitespace=true,breakindent=12pt]{test.py}

\end{document}

输出

在此处输入图片描述

编译此文件“XeLaTeX”,这是由于字体问题……

另外,参考这个,Ulrikeegreg给出了他们的精彩建议, 使用 FiraMono 字体(dvips -> ps2pdf)无法正确显示字符

相关内容