I'm using biblatex and defined own bibliography and citation style. One thing I can not achieve is to capitalize all letters of authors' names while citing
- Current: Wehrbein et al. [1]
- Expected: WEHRBEIN et al. [1]
This should happen only for the citations. The bibliography should remain intact.
I tried the following:
\AtEveryCite{\renewcommand*{\mkbibnamelast}[1]{\MakeUppercase{#1}}}
\renewcommand*{\mkbibnamelast}[1]{\MakeUppercase{#1}}
\DeclareNameFormat{labelname}{\MakeUppercase{#1}}
The first solution has no effect. The second capitalizes both the citation and bibliography. The third solution shows:
It shows: FAMILY=WEHRBEIN, FAMILYI=W, GIVEN=H., GIVENI=H, [1]
Any idea how to:
- Capitalize author names in citations
- Do not capitalize the ending "et al."
- Leave the author names in bib as as ????
Here's an MWE:
\documentclass[a4paper,12pt,oneside]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=bibtex, style=numeric, citestyle=numeric,
minnames=1, maxnames=1, maxbibnames=3,firstinits=true,terseinits=true]{biblatex}
\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{default}{last-first}
\DeclareBibliographyDriver{article}{%
\printnames[][1-3]{author}%
\newunit\newblock
\printfield{title}%
\newunit\newblock
\printfield{journaltitle}%
\newunit
\printfield{year}%
\finentry}
\DeclareCiteCommand{\cite}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printtext[bibhyperref]{\printnames{labelname} \textbf{\mkbibbrackets{\printfield{labelnumber}}}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DefineBibliographyStrings{ngerman}{
andothers = {{et\,al\adddot}},
}
%\AtEveryCite{\renewcommand*{\mkbibnamelast}[1]{\MakeUppercase{#1}}}
\DeclareNameFormat{labelname}{\MakeUppercase{#1}}
\addbibresource{arbeit.bib}
\begin{document}
\cite{Wehrbein1996}
\printbibliography
\end{document}
@article {Wehrbein1996,
author = {Wehrbein, H. and Merz, B. R. and Diedrich, P. and Glatzmaier, J.},
title = {The use of palatal implants for orthodontic anchorage. Design and clinical application of the orthosystem.},
journal = {Clin Oral Implants Res},
volume = {7},
number = {4},
pages = {410-416},
year = {1996},
month = {12}
}
Any help is appreciated
\renewcommand*{\mkbibnamefamily}[1]{\MakeUppercase{#1}} \AtBeginBibliography{\renewcommand*{\mkbibnamefamily}[1]{#1}}(though I would recommend\textscinstead of the terrible\MakeUppercase). Your first suggestion would work if you used\mkbibnamefamilyinstead of\mkbibnamelast. There was a change in version 3.3 that renamed some commands, see here. – moewe Dec 01 '16 at 08:15utf8x,utf8should be enough, the other problems I can't say anything about. The fault shouldn't lie with the code I suggested. Try and come up with an MWE that reproduces the issues. Check that your files are encoded correctly. It could just be that your.bibfile contains an evil character, try to isolate the problematic entry in that case. – moewe Dec 01 '16 at 17:36