Кавычки Германии разбиты в tinytex / rmarkdown - даже при использовании пакета `csquotes` - PullRequest
3 голосов
/ 09 января 2020

Что я хочу:

Я бы хотел, чтобы немецкие кавычки были в моем TeX-PDF через rmarkdown и tinytex на MacOS (Catalina). См. Например:

enter image description here

Проблема:

Раньше она работала в соответствии с указаниями как предложено здесь . Но теперь это перестало работать. Я получаю только английские sh кавычки, но не немецкие:

enter image description here

То, что я пробовал, без success :

  • Я обновил свои пакеты R
  • Я обновил пакеты TeX
  • Я проверил, установлен ли пакет TeX "csquotes"
  • Я изменил язык с "де" на "де-де"

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. 

sessionInfo:

  • 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}

Код скомпилирован, но проблема осталась (нет Немецкие кавычки, только котировки Engli sh):

enter image description here

Ответы [ 2 ]

1 голос
/ 29 января 2020

Я тоже имел дело с этим вопросом. В описании YAML говорится , что

, если ваш шаблон LaTeX или любой включенный вызов файла заголовка для пакета [csquotes], pando c обнаружит это автоматически и использует \ enquote { ...} для цитируемого текста.

Так что вам на самом деле нужно только добавить

csquotes: true  # THIS IS THE IMPORTANT LINE

Нет необходимости добавлять

    - \usepackage{csquotes}

хотя бы это у меня работает.

1 голос
/ 09 января 2020

Благодаря @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. 

Итак, смысл был добавить YAML-переменную csquotes со значением yes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...