在斜体或粗体文本中使用时,\emph 会在 beamer 类中丢失

在斜体或粗体文本中使用时,\emph 会在 beamer 类中丢失

beamer在 Latex 中使用了该类。\emph到目前为止,使用效果很好。现在我想\emph在粗体 ( \textbf) 和斜体 ( \textit) 句子中使用。但是,输出似乎忽略了强调。这些句子分别采用粗体和斜体字体,但没有强调的单词与其他单词区分开来(或者差异很小,我看不到;我的眼睛不太好……):

粗体和斜体文字,强调

这里的问题是关于 beamer 类的吗?或者是关于我使用列表 ( \itemize) 的事实。

这是我的 MWE:

\documentclass{beamer}
\mode<presentation>
{
\usetheme{Berlin}      
\usecolortheme{default} 
\usefonttheme{default} 
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{caption}[numbered]
} 

\usepackage[ngerman, english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{trees,shapes}


\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}

感谢您的任何建议!

答案1

如果我做

\show\emph

我明白了

> \emph=macro:
->\beamer@sort {\beamerx@\emph }{1}.

并发现,最终,宏\beamerx@\emph(其中第二个反斜杠是名称的一部分)扩展为

> \beamerx@\emph=\long macro:
#1#2->{\only #2{\itshape }#1}.

这解释了这种行为:\itshape尽管如此,你还是得到了。

事实上,我们在beamerbaseoverlay.sty定义中发现

\newcommand<>{\emph}[1]{{\only#2{\itshape}#1}}

\emph并且您可以通过添加以下方法恢复在倾斜上下文中使用时切换到直立的 LaTeX 行为:

\renewcommand<>{\emph}[1]{{\only#2{\em}#1}}

你的序言。

\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}

注意。我添加了\usepackage[T1]{fontenc}因为它对于德语来说是必需的,并且解决了部分问题,因为在与 Computer Modern T1 对应的字体系列中存在倾斜的粗体。我还将其更改utf8xutf8(前一个选项对应于一个基本上无人维护且过于复杂的包)。

在此处输入图片描述

另一方面,您应该记住您正在做演示,因此这些细节不太可能被观众注意到,或者可能会分散注意力:尽可能保持简单。

相关内容