9

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
Crissov
  • 1,866
  • 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 01:27
  • The 'toggle'-like nature of \emph should be kept in italic titles: If my book title includes the title of another work, then the title-in-title should be set in the original typeface (presumably Roman/upright). E.g., imagine a (book) title like: Soliloquies and Other Nonesense in Shakespeare's Hamlet. In fact, I'd suggest not redefining \em (or \emph), but defining your own semantic mark-up command for how you want to emphasize things. Doing so is more in line with separating form and content anyway. – jon Dec 16 '13 at 21:38
  • \emph is how I want to emphasize things (be it by italics or otherwise). \mkbibemph is accompanied by \mkbibbold in biblatex, not \mkbibstrong, which is saying something. \mkbibitalic is being added, now. Whether double italic should result in something else there, is a different question. – Crissov Dec 16 '13 at 22:33
  • 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

1 Answers1

7

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.

Crissov
  • 1,866