最简单的方法就是让引号发挥其应有的作用

最简单的方法就是让引号发挥其应有的作用

当我在 Latex (TeXStudio)中写入“测试”时,我得到了以下信息:

在此处输入图片描述

显然,这不是引号应该有的样子。stackexchange 上有很多关于这个问题的答案,但我看到的答案似乎相当复杂。有什么最简单、最快捷的方法可以让它们看起来正确,而无需我浏览整个文档并更改任何引号?

附言:为什么这是 Latex 中引号的默认行为?在我看来,没有人会想要这样。

答案1

正如LaTeX2e 的简短介绍Tobias Oetiker,第 19 页,您不应使用 " 作为引号。使用两个 ` 作为开头,使用两个 ' 作为结尾。

在此处输入图片描述

这隐含在@Andrew 的回答中,但我真的不认为有必要为此制定命令,而是直接使用它。

答案2

配置 Texstudio 以获取正确的引号。例如,对于德语引文 (http://texstudio.sourceforge.net/manual/current/usermanual_en.html#SECTION01):

在此处输入图片描述

然后“-key 将输出定义的引文:

 Input "quote" -> Output "`quote"'. in the editor window

答案3

如果你改变双引号字符的类别代码,那么你可以定义一个宏来排版"test"为“test”的宏。这样做,我能看到的唯一缺点是,如果您忘记了结束引号,您将遇到问题。这也很可能会对某些软件包造成破坏——例如,双引号由蒂克兹因此,如果您想在也使用这些功能的文档中使用它,这几乎肯定不会起作用tikz。您最好使用 LaTeX 推荐的引用样式,即使用重复的左引号和右引号而不是双引号。在任何支持正则表达式的像样的编辑器中进行全局搜索和替换都应该可以修复您当前的文档。

为了完整性,我添加了一个\quot命令来访问“真正的”双引号字符,并且我已经检查过像这样的重音符号是否\"a仍然按预期工作。

代码如下:

\documentclass{article}

\newcommand\quot{"}% allow access to the real double quote

\catcode`\"=13     % change the category code of "
\def"#1"{``#1''}   % and make "stuff" expand to ``stuff''

\begin{document}

  "test"

  Universit\"at

  You can also write \quot test\quot

\end{document}

输出如下:

在此处输入图片描述

答案4

您可以使用 csquotes 包将“”制作成外部引号。它甚至可以适应不同语言的惯例。但我个人避免使 ascii 字符处于活动状态,并设置了我的编辑器,以便允许我插入真正的引号或使用快捷方式 \enquote。

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\MakeOuterQuote{"}
\MakeAutoQuote{«}{»}

\begin{document}

  "test" 

  «text with some «inner quote»» 

  \enquote{text with some \enquote{inner quote}}

\end{document}

在此处输入图片描述

相关内容