正如标题所示,我的结束引言后没有空格,我将我的长篇序言浓缩为以下内容,
% Manual: http://ctan.org/tex-archive/macros/latex/contrib/memoir/memman.pdf
\documentclass[a4paper,oneside,article]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hello "I AM A" DUMMY SENTENCE
\end{document}
渲染到
Hello "I AM A"DUMMY SENTENCE
我真的希望它能成为
Hello "I AM A" DUMMY SENTENCE
我正在使用适用于 Windows 的 MikTex 包,我的编辑器是 TexMaker。
我看了看XeLaTeX 中右双引号后的空格但我不认为该解决方案适用,因为我认为我没有加载任何 CJK 包。
答案1
这babel
包会"
变成一个活动字符(所谓的速记),为非英语语言的特殊处理提供很好的快捷方式。(快速、肮脏且印刷错误的解决方法是使用{}
1,2:)"I AM A"{} DUMMY
正确的丹麦语引号是用"`
(„) 和"'
(“) 获得的。
顺便说一句,既然你无论如何都可以使用,那么你可以直接utf8
输入„
和:“
„I AM A“
看看babel
手册及其有关丹麦语的部分!
您也可能对以下内容感兴趣csquotes
提供有用的引号宏。它还能够babel
识别 -aware 并使用正确的引号。
babel
使用 的简写进行编码
\documentclass[a4paper,oneside,article]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hello "`I AM A"' DUMMY SENTENCE
\end{document}
\enquote
使用来自csquotes
包的代码
\documentclass[a4paper,oneside,article]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{csquotes}
\begin{document}
Hello \enquote{I AM A} DUMMY SENTENCE
\end{document}
两种变体的输出
之后僵硬吗"
?
如果您仍在直双引号后面"
,则可以使用\textquotedbl
。
\documentclass[a4paper,oneside,article]{memoir}
\usepackage[utf8]{inputenc}
\usepackage[danish]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hello \textquotedbl I AM A\textquotedbl{} DUMMY SENTENCE
\end{document}
输出\textquotedbl
答案2
为了补充 Qrrbrbirlbel 的出色回答,以下是一些关于为什么有时候是这样的。
角色"
应该绝不在 LaTeX 中用来获取引号。获取(英式)双引号的正确方法是
``Opening and closing quotes''
"
不应依赖 产生看似正确的引号 (”)的事实:它可能会失败,具体取决于所使用的字体。此外,在良好的排版中,开始和结束的引号应该彼此不同。
当遵循不同的印刷传统时,引号会发生变化;德语使用降低的开头引号和升高的结尾引号,但与英国用法相反。丹麦语似乎也是如此,并且babel
提供了速记功能,无需在键盘上寻找正确的字符,正如 Qrrbrbirlbel 所解释的那样。
在许多语言模块中,babel
“直双引号”字符以相同的方式用于引入简写。它们的工作方式总是babel
相同的:
<shorthand_char><char>
其中一些组合是有意义的(它们在不同语言中可能有不同的含义),而其他组合则没有。当组合没有预定义的含义时,<shorthand_char>
会回退到"
“在当前字体中位置 34 处打印字符”的情况。但是,识别下一个字符的过程会\@ifnextchar
根据设计使用它会占用过程中找到的所有空格。
因此在示例中
Hello "I AM A" DUMMY SENTENCE
LaTeX 会检查该组合"I
对丹麦语是否有意义,如果有意义,则会打印
“我
然后它找到第二个"
,并开始寻找下一个字符,吞掉空格。最终A
找到了,由于"A
不是预定义的组合,
“A
已打印。