Дайте команду Latex напечатать библиографию именно такой, какая она есть

Дайте команду Latex напечатать библиографию именно такой, какая она есть

Я использую Zotero для своей литературы и следующий пакет для включения его в свою диссертацию:

\usepackage[
    backend=biber, natbib, style=trad-abbrv, maxbibnames=5, minbibnames=5, giveninits=true,
    style=apa
]{biblatex}
\addbibresource{references.bib}
\AtEveryBibitem{\clearfield{month}}
\AtEveryBibitem{\clearfield{day}}

Это обычно работает довольно хорошо, только некоторые заголовки, которые пишутся с заглавных букв, пишутся строчными буквами, когда я печатаю свою библиографию. Как мне сказать Latex просто печатать ее так, как она есть в Zotero?

введите описание изображения здесь

Обратите внимание, что на рисунке ниже Edgerton (1997) написан правильно, тогда как названия на немецком языке, которые должны быть написаны заглавными буквами, написаны с ошибками.

введите описание изображения здесь

решение1

Код

\usepackage[
    backend=biber, natbib, style=trad-abbrv, maxbibnames=5, minbibnames=5, giveninits=true,
    style=apa
]{biblatex}

немного сбивает с толку, так как он использует styleдважды. Второй styleвыигрывает, поэтому вы в конечном итоге загружаете style=apa,. (Обратите внимание, что если вам нужен настоящий стиль APA, вам не следует добавлять такие параметры, как maxbibnames=5, minbibnames=5, giveninits=true,, style=apa,уже дает вам лучший стиль APA, доступный в biblatexданный момент, дополнительные параметры могут фактически сделать вывод отклоненным от стиля APA.)

Стиль APA требует, чтобы определенные заголовки были отформатированы в "предложении регистра", что означает, что все буквы, кроме первой, преобразуются в строчные. Это то, что вы видите здесь.

Регистр предложений не имеет смысла для немецких названий, таких как пример записи, которую вы показываете, и фактически biblatexне будет применять регистр предложений для немецких работ (по крайней мере, со стилями, которые используют рекомендуемый \MakeSentenceCase*over \MakeSentenceCase). Вам просто нужен способ указать biblatex, что ваша работа на немецком языке. biblatex'угадывает' язык следующим образом.

  • Если langidполе присутствует, язык берется из этого поля.
  • Если langidотсутствует, biblatexбудет считаться, что запись написана на (текущем активном) языке документа.

В примере вы хотите добавить

langid = {ngerman},

к записи edenhofer_klimapolitik_2019. Затем biblatexзнает, что ваша запись не должна получать предложение с регистром.

Если весь ваш документ на немецком языке, то достаточно будет загрузить babel/ polyglossiaс соответствующими опциями и biblatexон угадает правильный язык. Если вы планируете писать документы на разных языках, определенно рекомендуется использовать это langidполе.

Если я правильно понимаю, Zotero обычно отображает своиязыкполе в langid. Так что если вы поместите deвязыкполе, вы должны получить желаемый результат.

Если вы не хотите, чтобы предложение было полностью закадровым, вы обычно можете отключить эту функцию с помощью

\DeclareFieldFormat{titlecase}{#1}

и в случае biblatex-apaс

\DeclareFieldFormat{apacase}{#1}

Хотя вышеизложенное написано с style=apa,учетом того, что вы могли бы воспроизвести аналогичный эффект с помощью style=trad-abbrv,, поскольку biblatex-tradстили также применяют регистр предложений. biblatexСтандартные стили не применяют регистр предложений по умолчанию, так что вам не придется беспокоиться об этом.

решение2

В записях Zotero есть поле языка. Установка его на de (для deutsch) для немецких записей должна помочь. Официальный ответ Zotero на связанный вопрос.

Связанный контент