引号: \grqq/\glqq 和 "` / "' 之间有什么区别?

引号: \grqq/\glqq 和 "` / "' 之间有什么区别?

我目前在大学里工作,负责校对讲义。这意味着我阅读了大量的文本并纠正语言错误/对表格/图像的错误引用,但我也试图改进 LaTeX 源代码。

我看到文档采用了两种引用方式:

\grqq{}My Text\glqq{}

"`My Text"'

这两句引言的表达方式似乎完全相同。

我有两个问题:

1. 这两种引用方式有什么区别?

2. 我应该使用什么(最佳实践)来引用?

我目前认为定义一个新命令如下:

\newcommand{\quote}[1]{\glqq{#1}\grqq{}}

可能是一个好方法。这样我就可以 grep 源文件并替换其他引号的每个实例。这样,我可以确保每个引号都有一个“匹配的引号”。但我不确定这是否有任何负面影响。

(我按照 StackExchange 的建议添加了“quoting”和“csquotes”标签,但我不确定这是否合适。我以前没有听说过 csquotes,但我认为这可能是第二个问题的答案。)

答案1

您的思路是对的。最佳做法始终是在文本中使用语义标记,并在其他地方定义布局(前言、配置文件等)。

csquotes是一个可以为您完成此操作的包。它甚至可以识别语言(如果由babel或设置polyglossia)。但请记住,有几个语义上不同的东西通常或偶尔会用引号输入(实际引号、反讽、新定义的术语等)。不要简单地替换所有出现的\grqq[…]\glqq

"`[…]"'

来自\enquotecsquotes。使用更高的标记,例如

\newcommand{\actualquote}[1]{\enquote{#1}}
\newcommand{\definedterm}[1]{\enquote{#1}}
\newcommand{\irony}[1]{\enquote{#1}}

这样,如果您只想更改一种布局,就可以轻松更改。

关于

\grqq vs. "`

前者不会破坏任何东西,但后者需要"激活(babel例如通过)。此激活可能会破坏其他(babel未意识到或设计不良的)软件包。

PS:人们也可以有这样的观点,即csquotes只涵盖实际的引文。这样,您不需要定义\actualquote,而是定义\definedterm\irony不是使用\enquote。但这有以下缺点:如果实际引文中有新定义的术语该怎么办?这就是为什么我看到\enquote更多处理引号而不是实际引文的方法。

相关内容