1

This question already has an answer here:

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

marked as duplicate by moewe biblatex Dec 12 '16 at 17:35

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Try \renewcommand*{\mkbibnamefamily}[1]{\MakeUppercase{#1}} \AtBeginBibliography{\renewcommand*{\mkbibnamefamily}[1]{#1}} (though I would recommend \textsc instead of the terrible \MakeUppercase). Your first suggestion would work if you used \mkbibnamefamily instead of \mkbibnamelast. There was a change in version 3.3 that renamed some commands, see here. – moewe Dec 1 '16 at 8:15
  • Thanks. I just tried your solution and I'm getting the error: " Package inputenc Error: Unicode char ​ (U+200B) (inputenc) not set up for use with LaTeX". I tried to play a bit with the parameters bibencoding and texencoding but this didn't help. – Moataz Elmasry Dec 1 '16 at 13:58
  • Also when using "\usepackage[utf8x]{inputenc}" I'm getting the error that the "enc" package clashes with another packages. I assume it is the biblatex. If you add the 2 lines you suggested to my MWE you will see the problem – Moataz Elmasry Dec 1 '16 at 14:01
  • You shouldn't use utf8x, utf8 should 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 .bib file contains an evil character, try to isolate the problematic entry in that case. – moewe Dec 1 '16 at 17:36
  • Any news here? As it stands now your question is a duplicate of Biblatex 3.3 name formatting and should be answered by my comment above. The other warning and errors you report must come from code you have not shown us and should be dealt with in a new question with proper MWE. – moewe Dec 9 '16 at 15:03