在 Beamer 中,通常如何为图像添加“礼貌”?我在互联网上进行了大量搜索,但找不到解决方案。
答案1
我确信这不是‘通常’的方法,但我基本上使用这种方法:
\documentclass{beamer}
\usepackage{xparse}
\makeatletter
\gdef\@imgsrcnavigation{}
\setbeamertemplate{navigation symbols}{%
\makebox[\paperwidth]{%
\hspace*{1.5em}
\@imgsrcnavigation
\hfill}%
}
\DeclareDocumentCommand \imgsrc { s O {Image credit} +m }{%
\IfBooleanTF{#1}{%
\def\tempa{off}%
\def\tempb{#3}%
\ifx\tempa\tempb
\gdef\@imgsrcnavigation{}%
\else
\gdef\@imgsrcnavigation{{\tiny #2:\thinspace #3}}%
\fi
}{%
{\tiny #2:\thinspace #3}%
}%
}
\defbeamertemplate{navigation symbols}{dim byd}{%
\parbox{\paperwidth}{%
\hspace*{1.5em}%
\@imgsrcnavigation
\hfill\par\vskip .5em}}
\newcommand*\navigationoff{\setbeamertemplate{navigation symbols}[dim byd]{}}
\makeatother
\begin{document}
\begin{frame}
\includegraphics[width=\textwidth]{example-image-a}
\imgsrc{MWE package author}
\end{frame}
\begin{frame}
\includegraphics[width=\textwidth]{example-image-b}
\imgsrc*{Many people contributed to the images in this frame and the next.}
\end{frame}
\begin{frame}
\includegraphics[width=\textwidth]{example-image-b}
\end{frame}
\imgsrc*{off}
\begin{frame}
\includegraphics[height=.9\textheight]{tiger}
\imgsrc[Image courtesy]{Somebody}
\end{frame}
\end{document}
您可能需要根据您的主题进行一些调整。默认主题如下所示:
本质上,该命令\imgsrc{<whatever>}
只是用较小的字体创建了一个致谢。如果未指定可选参数,则显示“图片来源:”。如果指定了参数\imgsrc[<custom credit>]{}
,则显示“:”。
该命令的星号版本将无限期地将致谢置于文档页脚中。要关闭页脚,您可以说\imgsrc*{off}
这将使页脚恢复为默认的空白状态。
答案2
这个copyrightbox
包就是为此而做的。它定义了一个\copyrightbox
命令,并允许您将版权文本放在框的左侧、右侧(默认为直立)或底部:
\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{cabin}
\usepackage{graphicx}
\usepackage{caption, copyrightbox}
\captionsetup{justification=centering, labelfont=sc, labelsep=endash}
\begin{document}
\begin{frame}
\centering
\copyrightbox[b]{\includegraphics[scale=0.23]{Piero_di_Cosimo_3bis}}{Portrait of Simonetta Vespucci\\Courtesy of Piero di Cosimo}
\end{frame}
\end{document}