我曾使用 linguex 包编写过一篇文章;现在发现在注释示例中,原文(第一行)应该用斜体。有人能告诉我如何/在哪里调整 linguex 中的定义以实现这一点吗?
理想情况下,翻译(最后一行)也应该用单引号引起来。
\documentclass{article}
\usepackage{linguex}
\begin{document}
\exg. Das ist kein Beispiel. \\
that is no example \\
That is not an example.
\end{document}
答案1
正如评论中所述,您可以使用以下方法重新定义光泽线的格式:
\renewcommand{\eachwordone}{\itshape}
对于第二或第三个注释行格式,也是同样的道理\eachwordtwo
。\eachwordthree
您可能应该将\glt
宏用于翻译行。如果这样做,很容易重新定义它以添加引号。在这里我使用包csquotes
,它可以更广泛地对引号做很多好事。使用它很有用,因为如果您需要更改翻译行的引号样式,您可以很容易地做到这一点。为了看到它的威力,我在同一文档中使用了两种不同的语言,并且引号样式会相应更改。(这仅用于示例目的;更可能的情况是在不同语言的文档中使用相同的示例。)
请注意,您需要将参数括\glt
在括号中,但我添加了代码来删除参数内的前导和尾随空格。
该csquotes
软件包允许正确嵌套引号,因此定义了“外引号”和“内引号”。默认情况下,在英语中,外引号是双引号,内引号是单引号。要强制仅使用内引号(从而获得英语中的单引号),您可以在重新定义中使用\enquote*
而不是。\enquote
\documentclass{article}
\usepackage{linguex}
\usepackage[ngerman,english]{babel}
\usepackage{trimspaces}
\usepackage[autostyle=true]{csquotes}
\makeatletter
\renewcommand{\glt}[1]{\vskip.17\baselineskip\enquote{\trim@spaces#1}}
% use \enquote* for inner quote mark
% \vskip.17\baselineskip is in the original cgloss code; it can be removed
\makeatother
\renewcommand{\eachwordone}{\itshape}
\begin{document}
\exg. Das ist kein Beispiel. \\
that is no example \\
\glt{ That is not an example.}
\selectlanguage{ngerman}
\exg. Das ist kein Beispiel. \\
that is no example \\
\glt{That is not an example.}
\end{document}