麻烦问一下,LaTeX中插入的代码段有代码本身的注释,向这样:
直接这样放在代码段里编译不过,求问各位大神这种情况有什么处理方法吗?谢谢!
可以把所有代码贴出来吗?
添加:
\begin{CJK*}{GBK}{kai}
........
\end{CJK*}
可以吧全部代码发出来吗?这样容易判断
字体要自己下载好,并且放在该文件夹下。
\documentclass{ctexart}
\usepackage{listings}
\setCJKmainfont{SimSun.ttf}
\setCJKsansfont{SimHei.ttf}
\setCJKmonofont{SimFang.ttf}
\begin{document}
\tableofcontents
\begin{lstlisting}[language=Python]
import numpy as np
def incmatrix(genl1,genl2): #中文
m = len(genl1)
n = len(genl2)
M = None #to become the incidence matrix
VT = np.zeros((n*m,1), int) #dummy variable
#compute the bitwise xor matrix
M1 = bitxormatrix(genl1)
M2 = np.triu(bitxormatrix(genl2),1)
for i in range(m-1):
for j in range(i+1, m):
[r,c] = np.where(M2 == M1[i,j])
for k in range(len(r)):
VT[(i)*n + r[k]] = 1;
VT[(i)*n + c[k]] = 1;
VT[(j)*n + r[k]] = 1;
VT[(j)*n + c[k]] = 1;
if M is None:
M = np.copy(VT)
else:
M = np.concatenate((M, VT), 1)
VT = np.zeros((n*m,1), int)
return M
\end{lstlisting}
\end{document}
使用逃逸字符串,\lstset{escapeinside=
}
可以解决非XeLatex环境下中文代码编译问题。一个demo如下:
\documentclass{article}
\usepackage{CJKutf8}
\usepackage{listings}
\begin{document}
\begin{CJK*}{UTF8}{bsmi}
中文代码示例,pdfLatex环境
\end{CJK*}
\begin{CJK*}{UTF8}{gbsn}
\lstset{escapeinside=``}
\begin{lstlisting}[language=C++]
#include <iostream>
using namespace std;
// `输出`
int main(){
cout << "`中国`!" << endl;
}
\end{lstlisting}
\end{CJK*}
\end{document}