我正在使用包\enquote
中的命令csquotes
来设置引号。
当我在数学模式中手动调用引号
时
``<some math>''
或通过 enquote
\enquote{<some math>}
其呈现方式与文本模式不同。
以下是一个例子:
有人能解释为什么会发生这种行为吗?
为了手动调整引号,我发现这是 egreg 的解决方法。
如何调整数学模式下 enquote 调用的引号?
这是一个 MWE,即上面的那个:
\documentclass[preview]{standalone}
\usepackage{csquotes}
\begin{document}
In text mode:\\
Quote by hand: ``Blub''\\
Quote by enquote: \enquote{Blub}
In math mode:\\
Quote by hand: $``a^2+b^2=c^2''$\\
Quote by enquote: $\enquote{a^2+b^2=c^2}$
\end{document}
答案1
LaTeX 发出一个错误和两个警告:
! Double superscript.
<recently read> ^
l.13 Quote by hand: $``a^2+b^2=c^2'
'$
?
LaTeX Warning: Command \textquotedblleft invalid in math mode on input line 15.
LaTeX Warning: Command \textquotedblright invalid in math mode on input line 15
此类错误和警告不应被忽视;这或许是一个令人悲伤的事实,\textquotedblleft
在数学模式下会产生一个反斜杠,而\textquotedblright
实际上会产生一个结束的双引号。
错误是因为'
在数学模式中被解释为^{\prime}
,所以c^2'
确实有一个双上标(反之c'^2
则是合法的,因为c''^2
)。
如果您想在数学模式下引用某些内容,则应该使用数学符号。
\documentclass{article}
\DeclareMathSymbol{\mlq}{\mathord}{operators}{'134}
\DeclareMathSymbol{\mrq}{\mathord}{operators}{'42}
\begin{document}
$\dots\mlq\dots\mrq\dots$
\end{document}
答案2
你已经回答了你自己:引用应该采用文本模式:
\documentclass[preview]{standalone}
\usepackage{csquotes}
\begin{document}
In text mode:\\
Quote by hand: ``Blub''\\
Quote by enquote: \enquote{Blub}
In math mode:\\
%Quote by hand: $``a^2+b^2=c^2''$\\
Quote by hand: ``$a^2+b^2=c^2$''\\
%Quote by enquote: $\enquote{a^2+b^2=c^2}$
Quote by enquote: \enquote{$a^2+b^2=c^2$}
\end{document}