原 文:Typesetting quotations
译 者:Xovee
翻译时间:2021年3月31日
不同的语言有着不同的输入引语的规则和符号。因此,人们设计了许多 LaTeX 包来支持不同种类的引语输入,包括在章节开头的引语,行内的引语,以及行间的引语等。需要注意的是,就算你使用英语来输入引语,不同的地方有着不同的习惯,例如在英国(UK)和在美国(US)的引语传统是不同的。LaTeX 支持输入不同种类的引语符号,它几乎支持所有语言的引语输入。
dirtytalk
包
dirtytalk是一个非常小的包,它只有一个命令\say
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{dirtytalk}
\begin{document}
\section{Introduction}
Typing quotations with this package is quite easy:
\say{Here, a quotation is written and even some \say{nested} quotations
are possible}
\end{document}
你可以在文档的 preamble 引入它:
\usepackage{dirtytalk}
你可以自定义嵌套引语,重定义引语的字形。下面是一个基于法语习惯的例子:
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[
left = \flqq{},%
right = \frqq{},%
leftsub = \flq{},%
rightsub = \frq{} %
]{dirtytalk}
前两行命令定义了主要的引语的左右标号,第二对命令定义了次级的引语标号。
这个包支持你大多数的需求。它很简单,只有一个命令,并且支持一级嵌套引语。
如果你需要更为复杂的引语支持,请看下一章。
csquotes
csquotes
包提供了更高级的引语输入控制。它支持一系列命令、环境、和用户自定义的引语。引语可以自动地适应当前所设定的语言(基于babel
包或polyglossia
包)。它适用于依赖大量复杂引语的文档,支持各种引语的类型和语言。
下面是一个使用csquotes
包的例子,所使用的语言是西班牙语。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{csquotes}
\begin{document}
La siguiente frase es atribuída a Linus Torvals:
\begin{displayquote}
Sé que tengo un ego del tamaño de un planeta pequeño, pero incluso yo a
veces me equivoco
\end{displayquote}
La frase revela un aspecto importante de su \textquote{jocosa} personalidad.
\end{document}
在这个例子中,环境displayquote
会在文档中显示一个行间引语,而命令\textquote
显示的是行内引语。
这个包对普通用户来说过于强大了,它有着大量的命令和环境。其实在大多数情况下,上面的两个命令已经足够了。
epigraph
一些作者喜欢在章节的开头添加一个引语,这些引语被称为 epigraphs。epigraph
包提供了很多输入 epigraph 的选项。
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{epigraph}
...
\chapter{Something}
\epigraph{All human things are subject to decay, and when fate
summons, Monarchs must obey}{\textit{Mac Flecknoe \\ John Dryden}}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit...
使用命令\epigraph{}{}
来输入 epigraph,第一个参数是引语的文本,第二个参数是引语的来源(例如作者、书籍等)。
这个包提供了一种有着多个选项的特殊环境来支持引语的输入。
fancychapters
这是另外一个输入 epigraph 或者引语的包。它提供了一个新的命令来定义章节的标题:
\documentstyle[fancychapters]{report}
\begin{document}
\Chapter{
``Parents of young organic life forms should be warned, that
towels can be harmful, if swallowed in large quantities.''
\\[5pt]
\rightline{{\rm --- Douglas Adams}}
}[No More]{Building No More Operating Systems}
为了让这个包正常运行,在文档的第一行必须是:
\documentstyle[fancychapters]{report}
除了report,你也可以使用 book。
命令\Chapter
支持两个参数(在大括号之内)。第一个是显示在章节标题之上的引语本身,第二个是章节的标题。你还可以在方括号中指定传统的\chapter
所支持的参数。
这个包只支持 book 和 report。尽管它现在工作的很好,但是这个包似乎已经很久没人维护了。
quotchap
quochap
包与fancychapters
包相似,但是更为复杂。它重新定义了chapter
命令,并提供了很多功能。它还提供了特殊的环境来输入引语和作者。
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage{quotchap}
\begin{document}
\begin{savequote}[45mm]
---When shall we three meet again
in thunder, lightning, or in rain?
---When the hurlyburly’s done,
when the battle’s lost and won.
\qauthor{Shakespeare, Macbeth}
Cookies! Give me some cookies!
\qauthor{Cookie Monster}
\end{savequote}
\chapter{Classic Sesame Street}
\end{document}
在savequote
环境中输入引语。方括号中的参数设置了引语区域的宽度,例如45mm
。在每个引语之后,\qauthor{}
命令被用来输入作者的姓名。
参考指南
不同语言所使用的引语标号:
语言 | 主 | 次 |
---|---|---|
英国英语 | ‘…’ | “…” |
美国英语 | “…” | ‘…’ |
丹麦语 | »…« | ›…‹ |
立陶宛语 | „…“ | — |
法语 | «…» | «…» |
德语 | „…“ | ‚…‘ |
俄语 | «…» | „…“ |
乌克兰语 | «…» | — |
波兰语 | „…“ | ‚…‘ or «…» |