8

The internal Biblatex \mkbibemph macro defaults to being an alias for \emph (see section 4.10.4 Auxiliary Commands and Hooks in its documentation). It is used with \DeclareFieldFormat to typeset certain fields, especially title, in many bibliography styles.

I redefined \em and thereby \emph, however, because I cannot use italics for emphasis in text. Italics are required in citation titles, though (which I would not consider emphasis, by the way).

Which is the correct way to redefine \mkbibemph to use either \textit or \itshape?

  1. \renewcommand{\mkbibemph}[1]{\textit{#1}}
  2. \renewcommand{\mkbibemph}{\textit}
  3. \let\mkbibemph\textit
  4. \def\mkbibemph{\textit}
  5. something else
  • 1
    The default definition is \newrobustcmd*{\mkbibemph}{\emph}. So you can do the same. – Marco Daniel Dec 12 '13 at 12:43
  • Variant 4 wouldn't work, it needed be \def\mkbibemph{\textit} ;) @MarcoDaniel make it an answer. Btw, does \renewrobustcmd* exists? Is there an existence check? If so, one might need to \let\mkbibemph\relax or \let\mkbibemph\@undefined first, might not he? – yo' Dec 12 '13 at 12:50
  • \renewrobustcmd* does compile at least. Like the other solutions, it doesn’t work in my actual document, though, and I’m still trying to figure out why. As a workaround, I can redefine \em again just before the bibliography. – Crissov Dec 12 '13 at 13:28
  • Unfortunately in this case I think the command in biblatex is not very well chosen: If a citation requires the title to be in italics, it should just do so. The thing about \emph is, that it may toggle if necessary. It is probably best to create a new wrapper for a custom \emph command in the text of a custom \mkbibit for the bibliography. In the latter case you have of course to redefine the whole style you use :( – Martin - マーチン Dec 13 '13 at 1:27
  • 1
    Yes, it is a 'style guide' question; but I strongly doubt you will find a guide that recommends 'double italics' should be set in italics (or worse bold). The emphasized form of italics is regular text. Thus, \mkbibemph inside \mkbibemph should do what a nested \emph does, which is switch back to 'regular' emphsis. This is completely lost if you use \textit (or \mkbibitalic) as the title font -- even if your view is that emphasized text in italics should be set in bold or some other monstrosity. Who wants to read Soliloquies and Other Nonesense in Shakespeare's Hamlet?! – jon Dec 16 '13 at 23:47
6

From biblatex’s Github:

\makeatletter
\newrobustcmd*{\mkbibitalic}{\textit}
\protected\long\def\blx@imc@mkbibemph#1{%
  \textit{#1}\blx@imc@setpunctfont\textit}
\makeatother

\let\mkbibemph\mkbibitalic

If you’re reading this in my distant future, biblatex may already ship with a \mkbibitalic macro, then the last line would suffice, of course.

  • The distant future is here. – nJGL Aug 22 '19 at 14:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.