我怎样才能调整 linguex 使得注释示例的第一行以斜体显示?

我怎样才能调整 linguex 使得注释示例的第一行以斜体显示?

我曾使用 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}

代码输出

相关内容