Принудительное использование регистра для названий журналов в библиографии

Принудительное использование регистра для названий журналов в библиографии

Я пытаюсь печатать все названия журналов в своей библиографии с заглавной буквы, сохраняя при этом остальную часть записи.

Я обнаружил, что это работает для принудительного приведения заголовков статей к заглавным буквам:Предложения в заголовке в библатексе и мне было интересно, возможно ли что-то подобное для заглавных букв и названий журналов. Я использую biblatex.

Репрекс:

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage{pdflscape}
\usepackage[T1]{fontenc}

\usepackage[
backend=biber,
style=authoryear,
date=year,
]{biblatex}

% Removes language from entries
\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldset=language, null]
    }
  }
}

% Chapter title formatting and spacing
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\bfseries\Huge}                                            
{\filright}
{1ex}{}[]

\begin{filecontents}[force]{\jobname.bib}
@article{ref1,
  author  = {Doe, J. and Dane, D. and Dewy, R.},
  year    = {2000},
  title   = {This and That},
  journal = {Journal of Deep Understanding of Things},
}
@article{ref2,
  author  = {Doe, J. and Dewy, D. and Dane, R.},
  year    = {2000},
  title   = {The Other},
  journal = {Journal of deep understanding of things},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Some text and a ref \autocite{ref1}.
Then another ref with same first author and year \autocite{ref2}

\printbibliography

\end{document}

Таким образом, в этом примере название журнала ref1останется прежним, хотя и ref2будет иметь заглавные буквы.

решение1

biblatexимеет только функцию преобразования текста в предложение. Он не предлагает функцию преобразования заголовков в Title Case. (То же самое для классического BibTeX.) См. такжеРеализация «Заглавных букв» в Bibtex.

Это означает, что заголовки в файле должны быть указаны с заглавной буквы .bibи могут быть преобразованы в заглавные буквы, если этого требует стиль библиографии. (Необходимо проявлять осторожность со словами, которые не должны быть написаны строчными буквами даже в предложениях, такими как имена или аббревиатуры. См.BibTeX теряет заглавные буквы при создании файла .bbl) ВидетьКакой регистр следует использовать при сохранении названий в библиографической базе данных?для более подробного обсуждения.

Поэтому лучшим решением будет исправить ваш .bibфайл, чтобы он имел

 journal = {Journal of Deep Understanding of Things},

повсюду.

Если у вас есть только несколько названий журналов, на которые вы ссылаетесь, это можно сделать с помощью sourcemap.

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=journal, fieldtarget=journaltitle]
      \step[fieldsource=journaltitle,
        matchi={Journal of Deep Understanding of Things},
        replace={Journal of Deep Understanding of Things}]
    }
  }
}

но, конечно, это быстро выходит из-под контроля, если вам приходится иметь дело с большим количеством журналов.

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