答案1
您可以尝试使用双引号包裹csquotes
:
\documentclass{article}
\usepackage{csquotes}
\MakeOuterQuote{"}
\begin{document}
This is "test".
\end{document}
但只有当始终存在双引号对、它们相对于 tex 组正确嵌套并且您不将引号用于其他目的(例如引用文件名中的空格)时,它才会起作用。在大型文档中,它几乎从一开始运行时就总是出错。
对于单引号,没有类似的东西。csquotes
不允许您(出于充分理由)将其设置'
为引号符号。这里的主要问题是,您很可能也在各个地方将其用作撇号——请参见don't
我上面的文本。
答案2
我之前开玩笑说只需将文档设置为。但这提出了使其成为活动的并只需将字形设置为对称样式的\ttfamily
可能性。"
\texttt
编辑也适用于单引号,同时保留其作为数学模式下上标素数的行为。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
\catcode`'=\active %
\catcode`"=\active %
\makeatletter
\def'{\ifmmode\def\qnxt{\catcode`'=12 ^\bgroup\prim@s}%
\else\def\qnxt{\textquotesingle}\fi\qnxt}
\makeatother
\def"{\textquotedbl}
\begin{document}
This is "test". And another 'test'.
$x'$ and $x''$ and $x'''$.
And this is a final 'test'.
\end{document}
原始方法
\documentclass{article}
\let\svq"
\catcode`"=\active
\def"{\texttt{\svq}}
\begin{document}
This is a "test" of active "quotes."
\end{document}