Rather than redefining \emph
in terms of a copy of itself, it's better redefining it from scratch, using the standard definition as model; the standard definition is surprisingly simple:
% latex.ltx, line 3744:
\DeclareTextFontCommand{\emph}{\em}
because it's \em
that does the hard work. So we can simply do
\documentclass[11pt]{article}
\let\emph\relax % there's no \RedeclareTextFontCommand
\DeclareTextFontCommand{\emph}{\bfseries\em}
\begin{document}
Here is \emph{emphasized text with something \emph{emphasized} inside}
\end{document}
However, double emphasis is really too much: italic is sufficiently prominent. The advantage of redefining \emph
in this way is that you can simply comment out those two lines and return to the default.
Why doesn't your idea work? Because with those definitions, when TeX finds
\emph{text}
it changes it into
\bfemph{text}
and this becomes
\textbf{\emph{text}}
that in turn becomes
{<expansion of \textbf>\emph{text}}
…
Sorry, infinite loop: \emph
will restart the machinery.
If I do
\show\emph
I get
> \emph=macro:
->\beamer@sort {\beamerx@\emph }{1}.
and discover that, eventually, the macro \beamerx@\emph
(where the second backslash is part of the name) expands to
> \beamerx@\emph=\long macro:
#1#2->{\only #2{\itshape }#1}.
which explains the behavior: you get \itshape
notwithstanding.
Indeed, we find in beamerbaseoverlay.sty
the definition
\newcommand<>{\emph}[1]{{\only#2{\itshape}#1}}
and you can restore the LaTeX behavior of switching to upright when \emph
is used in slanted context by adding
\renewcommand<>{\emph}[1]{{\only#2{\em}#1}}
to your preamble.
\documentclass{beamer}
\mode<presentation>
{
\usetheme{Berlin}
\usecolortheme{default}
\usefonttheme{default}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{caption}[numbered]
}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman, english]{babel}
\usepackage{tikz}
\usetikzlibrary{trees,shapes}
\renewcommand<>{\emph}[1]{{\only#2{\em}#1}}
\begin{document}
\begin{frame}
blah blah
\begin{itemize}
\item blah normal without any bold or italics \emph{emph blah!} blah blah
\item \textbf{bold blah blah \emph{emph blah!} blah blah}
\item \textit{italic blah \emph{emph blah!} blah blah}
\end{itemize}
\end{frame}
\end{document}
Note. I added \usepackage[T1]{fontenc}
as it's necessary for German and solves part of the problem, because in the font family corresponding to Computer Modern T1 there is slanted boldface. I also changed utf8x
into utf8
(the former option corresponds to a largely unmaintained and overly complex package).
On the other hand, you should keep in mind that you're doing a presentation, so such finer details are unlikely to be noticed by the audience or they may be distracting: keep it as simple as possible.
Best Answer
From
biblatex
’s Github: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.