Я хочу, чтобы в моей библиографии автор был жирным, а год — нормальным. Как в примере:
Вот часть исходного кода моего файла преамбулы:
\usepackage[natbib=true, backend=biber, style=authoryear, dashed=false]{biblatex}
\setlength{\bibitemsep}{18pt}
\setlength{\bibhang}{0.2cm}
\DeclareNameAlias{sortname}{last-first}
\AtBeginBibliography{%
\renewcommand*{\multinamedelim}{\addsemicolon\space}%
\renewcommand*{\finalnamedelim}{\addsemicolon\space}%
}
\DefineBibliographyStrings{ngerman}{%
andothers = {et\addspace al\adddotspace},%
andmore = {et\addspace al\adddotspace},%
}
\usepackage{xpatch}
\xpretobibmacro{author}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{author}{\egroup}{}{}
\xpretobibmacro{bbx:editor}{\mkbibbold\bgroup}{}{}
\xapptobibmacro{bbx:editor}{\egroup}{}{}
\renewcommand*{\labelnamepunct}{\mkbibbold{\addcolon\space}}
решение1
Обновлять
Для удобства выделения жирным шрифтом автора в библиографии просто используйте
\DeclareNameWrapperFormat{sortname}{\mkbibbold{#1}}
Нет необходимости в xpatch
друзьях.
Старый ответ
Использовать
\usepackage{xpatch}
\def\bmkbibbold#1\emkbibbold{\mkbibbold{#1}}
\xpretobibmacro{author}{\bmkbibbold}{}{}
\xpatchbibmacro{author}
{\usebibmacro{date+extradate}}
{\emkbibbold\usebibmacro{date+extradate}}
{}{}
\xpretobibmacro{bbx:editor}{\bmkbibbold}{}{}
\xpatchbibmacro{bbx:editor}
{\usebibmacro{date+extradate}}
{\emkbibbold\usebibmacro{date+extradate}}
{}{}
\xpretobibmacro{bbx:translator}{\bmkbibbold}{}{}
\xpatchbibmacro{bbx:translator}
{\usebibmacro{date+extradate}}
{\emkbibbold\usebibmacro{date+extradate}}
{}{}
\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
Это освободит год от жирного шрифта и также будет правильным решением для переводчиков. Макрос с разделенным аргументом может быть немного рискованным, поэтому в целом следует отдать предпочтение решению, которое правильно использует группировку. К сожалению, biblatex
команды шрифта ' являются макросами, а не переключателями.