1

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

  • 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 01 '16 at 08: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 01 '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 01 '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 01 '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 09 '16 at 15:03
  • Thanks for the followup. Although I couldn't get rid of the error I'm getting, your suggestion solves the problem. If you can post your suggestion as an answer, I'll be more than happy to accept it. Thanks for your help – Moataz Elmasry Dec 12 '16 at 11:38

0 Answers0