'
如何在 LaTeX 文档中将单引号字符排版为 ascii 字符?
例如,考虑以下文档:
\documentclass{standalone}
\usepackage[T1]{fontenc}
\begin{document}
\texttt{Note that alpha''' is a valid Haskell identifier.}
\end{document}
pdflatex 产生的输出是
注意前两个引号的排版与第三个引号不同。第三个引号比第二个引号大。
对于其他字体,这一点变得更加明显。在序言中添加:
\usepackage{dejavu}
给出结果
我希望它们全部以相同的方式排版,就像 ascii 单引号字符一样'
。
有什么线索吗?
答案1
您可以通过插入来打破连字符{}
,但您可能更喜欢直接引用textcomp
而不是三个右引号:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\begin{document}
\texttt{Note that alpha''' is a valid Haskell identifier.}
\texttt{Note that alpha'{'}' is a valid Haskell identifier.}
\texttt{Note that alpha\textquotesingle\textquotesingle\textquotesingle{}
is a valid Haskell identifier.}
\end{document}
答案2
使用\lstinline
来自listings
包的选项。可以通过以下选项将其替换'
为\textquotesingle
来自textcomp
包的选项:
\documentclass{article}
\usepackage{listings}
\usepackage{textcomp}
\lstset{upquote=true}
\begin{document}
\texttt{Note that \lstinline@alpha'''@ is a valid Haskell identifier.}
\end{document}