3

我想要的是:

我想通过 MacOS(Catalina)上的 rmarkdown 和 tinytex 在我的 TeX-PDF 中使用德语引号。参见例如:

在此处输入图像描述

问题:

它曾经按照此处建议的指南工作。但是现在,它停止了工作。我只得到英文引号,但没有德文引号:

在此处输入图像描述

我尝试了什么,但没有成功

  • 我更新了我的 R 包
  • 我更新了 TeX 包
  • 我检查了 TeX 包“csquotes”是否已安装
  • 我将语言从“de”更改为“de-De”

R-代码

---
title: "German quotation marks"
output: 
    pdf_document:
        keep_tex: yes
lang: de-DE
header-includes:
    - \usepackage{csquotes}
---

"Das ist sehr schön", sagte sie. 

会话信息:

  • R 版本 3.6.0 (2019-04-26)
  • 平台:x86_64-apple-darwin15.6.0(64位)
  • 运行于:macOS 10.15.2
  • tinytex v0.18
  • TeX 3.14159265 (TeX Live 2019)
loaded via a namespace (and not attached):
 [1] compiler_3.6.0  htmltools_0.4.0 tools_3.6.0     yaml_2.2.0      Rcpp_1.0.3     
 [6] rmarkdown_2.0   knitr_1.26      xfun_0.11       digest_0.6.23   packrat_0.5.0  
[11] rlang_0.4.2     evaluate_0.14  

编辑

根据下面@RalfStubner 的建议,这是由上面的代码编译的 TeX 文件的最小可重现版本:

\documentclass[
  ngerman,
]{article}
\usepackage[shorthands=off,main=ngerman]{babel}


\title{German quotation marks}
\author{}
\date{\vspace{-2.5em}}

\begin{document}
\maketitle

``Das ist sehr schön'', sagte sie.

\end{document}

代码确实编译了 - 但问题仍然存在(没有德语引号,只有英语引号):

在此处输入图像描述

4

2 回答 2

1

感谢@NMarkgraf,我刚刚了解到这个解决方案确实有效:

---
title: "German quotation marks"
output: 
    pdf_document:
        keep_tex: yes
lang: de-DE
csquotes: true  # THIS IS THE IMPORTANT LINE

header-includes:
    - \usepackage{csquotes}
---

"Das ist sehr schön", sagte sie. 

所以,关键是添加一个csquotes带有 value的 YAML 变量yes

于 2020-01-09T12:27:44.680 回答
1

我也在处理这个问题。YAML描述指出

如果您的 LaTeX 模板或任何包含的头文件调用 [csquotes] 包,pandoc 将自动检测到这一点并使用 \enquote{...} 引用文本。

所以你实际上只需要添加

csquotes: true  # THIS IS THE IMPORTANT LINE

无需添加

    - \usepackage{csquotes}

至少这对我有用。

于 2020-01-29T16:50:35.507 回答