.png)
Это продолжениеВопрос Микоо том, как указать автора с помощью giveninits=true
. Было найдено два ответа, которые работают для названий, не содержащих дефис.
Теперь рассмотрим титул "Dr.-Ing.". В обоих ответах я получаю дополнительную точку перед дефисом:
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr.-Ing. R}},
title = {Skriptum zu den {V}orlesungen
{T}heoretische {E}lektrotechnik {I} und {II}},
date = {2013-12-17},
note = {moewe's answer}
}
@unpublished{tet-skript-mico,
author = {{{\relax Prof. Dr.-Ing. R}olf} Schuhmann},
title = {Skriptum zu den {V}orlesungen
{T}heoretische {E}lektrotechnik {I} und {II}},
date = {2013-12-17},
note = {Mico's answer}
}
\end{filecontents*}
\documentclass{article}
\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Я знаю об одной работе, которую я опубликую в качестве ответа. Однако она мне не нравится, поскольку она подразумевает определение пользовательских команд и, таким образом, создание зависимости файла bib от файла tex.
Кто-нибудь знает лучшее решение?
решение1
Я не знаю, почему это работает, но вы можете убрать точку в Dr-Ing.
, а добавленная точка останется на месте, чтобы получить желаемый результат:
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript-moewe,
author = {family={Schuhmann}, given={Prof. Dr.-Ing. Rolf}, given-i={Prof. Dr-Ing. R}},
title = {Skriptum zu den {V}orlesungen
{T}heoretische {E}lektrotechnik {I} und {II}},
date = {2013-12-17},
note = {moewe's answer}
}
@unpublished{tet-skript-mico,
author = {{{\relax Prof. Dr-Ing. R}olf} Schuhmann},
title = {Skriptum zu den {V}orlesungen
{T}heoretische {E}lektrotechnik {I} und {II}},
date = {2013-12-17},
note = {Mico's answer}
}
\end{filecontents*}
\documentclass{article}
\usepackage[backend=biber, giveninits=true]{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
Подходит для решений как Mico, так и Moewe.
решение2
Использование дефиса в команде позволяет избежать вставки дополнительной точки.
Я предполагаю, что это работает, потому что код дефиса здесь зафиксирован на other и не может быть активирован. Согласно комментарию moewe наответ gusbrsэто работает, потому что «вставка выполняется Бибером, который не расширяет ваши команды TeX».
Я не совсем понимаю, зачем нужны эти фигурные скобки вокруг команд, но без них я получаю ошибку.
Положение этих скобок основано наответ Мико.
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@unpublished{tet-skript,
author = {{\Prof{} \DrIng{} R}olf Schuhmann},
title = {Skriptum zu den {V}orlesungen
{T}heoretische {E}lektrotechnik {I} und {II}},
date = {2013-12-17},
}
\end{filecontents*}
\documentclass{article}
\usepackage[backend=biber, firstinits=true]{biblatex}
\addbibresource{mybib.bib}
\newcommand{\DrIng}{Dr.-Ing.\@}
\newcommand{\Prof}{Prof.\@}
\begin{document}
\nocite{*}
\printbibliography
\end{document}