Сегодня займёмся оформлением цитат. Если обвешать дополнительными пакетами Bibtex, то он, в общем-то, не уступит Biblatex. Среди прочих пакетов есть пакет natbib, который может создавать вокруг цитат фигурные и угловые скобки. Но с Biber он не работает, хотя некоторые команды и можно подключить с помощью опции загрузки biblatex (natbib=true). Однако особенной пользы в этой опции нет, а желание оформить цитаты на свой вкус остаётся.
Вначале посмотрим, какие эффекты дают различные типы цитат:
cite \cite{Marochnik,NozhNN}\\
parencite \parencite{Marochnik,NozhNN}\\
autocite \autocite{Marochnik,NozhNN}\\
textcite \textcite{Marochnik,NozhNN}\\
footcite \footcite{Marochnik,NozhNN}\\
supercite \supercite{Marochnik,NozhNN}\\
smartcite \smartcite{Marochnik,NozhNN}\\
Меня интересует оформление цитат cite и parencite. Займёмся настройкой команд \cite и \parencite. Стиль gost-numeric базируется на стиле numeric-comp. Файл numeric-comp.cbx находится в папке biblatex/latex/cbx — откроем его и посмотрим на содержимое. Сначала попробуем отрегулировать вывод команды \parencite:
\DeclareCiteCommand{\parencite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}}
Уберём необязательный аргумент [\mkbibbrackets] и поставим этот макрос после загрузки biblatex:
\DeclareCiteCommand{\parencite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}}
Компилируем, смотрим:
Можно в тексте добавлять самые разные скобки:
Без скобок: \parencite{Marochnik,NozhNN}
Фигурные: \{\parencite{Marochnik,NozhNN}\}
Круглые: (\parencite{Marochnik,NozhNN})
Угловые: $\langle$\parencite{Marochnik,NozhNN}$\rangle$
Декоративные: \textlquill\parencite{Marochnik,NozhNN}\textrquill (эта команда из пакета textcomp)
Вот они все:
Всё это хорошо, но хотелось бы загружать скобки автоматически. Добавим в преамбулу перед загрузкой biblatex какой-нибудь символьный шрифт (подбираем его с тем расчётом, чтобы он не конфликтовал с biblatex и основным математическим шрифтом):
\usepackage{fdsymbol}
\usepackage[autostyle]{csquotes}
\usepackage[defernumbers=true,backend=biber,bibencoding=utf8, language=auto,autolang=other,sorting=ntvy,babel=other,maxbibnames=99, maxcitenames=2,movenames=false,dropdates=true,url=false,
style=gost-numeric]{biblatex}
Переопределим команду \parencite
\DeclareCiteCommand{\parencite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}$\langle$}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}$\rangle$}
Переопределим команду \cite
\DeclareCiteCommand{\cite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}$\lbrace$}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}$\rbrace$}
Ставим в преамбулу после загрузки пакета biblatex. Результат:
Или так:
\DeclareCiteCommand{\parencite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}$\lAngle$}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}$\rAngle$}
Двойные угловые
\DeclareCiteCommand{\cite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}(}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote})}
и круглые — они получатся и без дополнительных шрифтов — скобки:
Если не хочется подключать дополнительные шрифты, фигурные скобки можно получить и таким образом:
\DeclareCiteCommand{\parencite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}\{}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}\}}
Ну и хватит пока.