我写了一篇论文,想把我的代码/文本文件放在附录中。我不想复制代码,我只想把我的文件路径写入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”,这是由于字体问题……
另外,参考这个,Ulrike
并egreg
给出了他们的精彩建议, 使用 FiraMono 字体(dvips -> ps2pdf)无法正确显示字符