我正在使用以下代码:
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[dutch]{babel}
\newcommand{\add}{$\oplus$\space}
\newcommand{\ent}{\textit}
\begin{document}
\begin{enumerate}
\item Content: \add \ent{"Node add form" base form}
\end{enumerate}
\end{document}
不幸的是,枚举中的右引号后没有空格。我该如何解决这个问题?
答案1
切勿将其用作"
引号。特别是在babel
用作"
简写形式的语言中,直双引号会以各种方式失效。正确的形式是
Content: \add \ent{``Node add form'' base form}
或者使用 Unicode 字符
Content: \add \ent{“Node add form” base form}
为什么"
不能用于引号?确实,有时打印的是字形”,但此字符通常没有设置\sfcode
,这意味着在结束引号之前键入的句子结束句号(如美国印刷术中正常)的间距错误。
但最大的问题是babel
,在很多语言中, 和"
被用作简写。该机制使用\@ifnextchar
和,因此字符后的空格会被忽略,这正是示例中的情况。
''
使用或时,这些问题都不会发生”
(后者当然需要适当调用inputenc
)。可以设置好的编辑器,以便键入会"
触发正确的操作。例如,使用 Emacs 和 AUCTeX,如果在空格后(或在行首),则键入"
会产生否则;键入另一个``
''
"
会产生单身的 "
。