代码示例中的所有单引号都显示为反引号,如果不修复引号,则无法编译复制粘贴的代码。 可以避免这种情况吗?
例如:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\lstset{language=Python}
\begin{frame}[fragile]{Code}
\begin{lstlisting}
print 'hi'
\end{lstlisting}
\end{frame}
\end{document}
使用 进行编译latexmk -pdf file.tex
,将创建一个以如下内容开头的日志:This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
。
输出:
答案1
您需要加载textcomp
包并添加upquote=true
到\lstset
命令中。请参阅文档的 §4.7 listings
。或者,您可以直接加载upquote
包,这将使全部逐字引用单引号。
\documentclass{beamer}
\usepackage{listings}
\usepackage{textcomp}
\begin{document}
\lstset{language=Python,upquote=true}
\begin{frame}[fragile]{Code}
\begin{lstlisting}
print 'hi'
\end{lstlisting}
\end{frame}
\end{document}
答案2
尝试使用 `(字母键上方的数字键 1 之前的符号,与 shift 一起使用时,它位于显示为:~ 的键上!)。它在我创建文档时很有用。
因此,本质上它看起来像这样:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\lstset{language=Python}
\begin{frame}[fragile]{Code}
\begin{lstlisting}
print `hi'
\end{lstlisting}
\end{frame}
\end{document}
—萨米尔