如何用我自己选择的图形替换 `beamer` 主题中的默认图形?

如何用我自己选择的图形替换 `beamer` 主题中的默认图形?

我使用自己的 beamer 主题 beamerthemeXY.sty,其中包括一个(蓝色)图形 bow.eps。该图形是

/usr/share/texlive/texmf-dist/tex/latex/beamer/themes/images 

并被乳胶系统所知。它被包含在主题中

\includegraphics[width=1.01\paperwidth]{bow}.

是否可以用本地图片(例如橙色)替换幻灯片中的这张图片?如果我从图片目录中删除图片,请制作 texhash,然后写入

\graphicspath{{./img/}}

在我的文档中,使用本地(橙色)图形 ./img/bow.eps。但前提是目录 texlive.../images 中没有 bow.eps。

文件 beamerthemeXY.sty

\ProvidesPackageRCS $Header: beamerthemeXY.sty,v 1.0 2014/04/01 $
\RequirePackage{graphics}
\mode<presentation>
\defbeamertemplate*{headline}{XY}{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=0.17\paperheight]{}
    \begin{picture}(0,0)
      \put(0, 7){\includegraphics[width=\paperwidth]{bow}}
    \end{picture}
  \end{beamercolorbox}
}%
\mode<all>

文件 main.tex

\documentclass{beamer}
\mode<presentation>{
  \usetheme{XY}
  \graphicspath{{./img/}}
}
\begin{document}
\frame{\titlepage}
\begin{frame}{Another frame}
  \includegraphics{img/bow}
  \par\bigskip
  \includegraphics{bow}
\end{frame}
\end{document}

档案中包含蓝色和橙色的 bow.eps 文件以及 Fedora Linux 的 Makefile

http://www.informatik.uni-oldenburg.de/~sos/example.zip

在制作示例文件时,我观察到了没有安装主题的相同行为:仅当在本地目录中找不到(重命名)文件 bow.eps 时才使用 graphicspath。

答案1

另一个假设

这只是使用\pgfdeclareimage可以在本地.tex文件中轻松覆盖的内容(这可能比我的其他答案更简单,但玩几乎无限的可能性来选择颜色非常有趣:)

beamerthemeXY.sty:

\ProvidesPackageRCS $Header: beamerthemeXY.sty,v 1.0 2014/04/01 $

\mode<presentation>

\pgfdeclareimage[width=\paperwidth]{headimg}{bow}

\defbeamertemplate*{headline}{XY}
{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=0.17\paperheight]{}
    \begin{picture}(0,0)
      \put(0, 7){\pgfuseimage{headimg}}
    \end{picture}
  \end{beamercolorbox}
}%
\mode<all>

主要.tex:

% Time-stamp: <2014-04-02 13:14:29 ewi>
%
\documentclass{beamer}
\mode<presentation>{
  \usetheme{XY}
  \graphicspath{{./img/}}
}

% choose whatever image you want 
% if none is choosen the default image will be displayed
\pgfdeclareimage[width=\paperwidth]{headimg}{./img/bow}

\begin{document}
\frame{\titlepage}
\begin{frame}{Another frame}
  \includegraphics{img/bow}
  \par\bigskip
  \includegraphics{bow}
\end{frame}
\end{document}

答案2

所以总结一下你的问题,你基本上是想颠倒搜索不同位置的顺序?

听起来很难……

建议

将图像作为 包含tikzpicture在您的 .tex 文件中并单独更改颜色。

beamerthemeXY.sty:

\ProvidesPackageRCS $Header: beamerthemeXY.sty,v 1.0 2014/04/01 $
\RequirePackage{tikz}

\mode<presentation>

    \definecolor{mycolor}{RGB}{0,90,165}

    \defbeamertemplate*{headline}{XY}{%
      \begin{beamercolorbox}[wd=\paperwidth,ht=0.17\paperheight]{}
        \begin{picture}(0,0)
            \put(-5,0){
                \begin{tikzpicture}[y=0.20pt, x=0.20pt,yscale=-1, inner sep=0pt, outer sep=0pt]
                    \path[fill=mycolor] (0.0000,139.5590) -- (0.0000,0.0000) -- (960.0000,0.0000) -- (1920.0000,0.0000) -- (1920.0000,81.0000) -- (1920.0000,162.0000) -- (1851.7500,162.0070) .. controls (1779.9566,162.0150) and (1645.4583,163.2782) .. (1534.5000,164.9872) .. controls (860.4472,175.3697) and (366.1651,207.9400) .. (85.0000,260.5011) .. controls (61.8651,264.8260) and (2.3947,277.6381) .. (0.7572,278.6501) .. controls (0.3407,278.9074) and (0.0000,216.3165) .. (0.0000,139.5590) -- cycle;
                \end{tikzpicture}
            }
        \end{picture}
    \end{beamercolorbox}
    }%

\mode<all>

主要.tex:

\documentclass{beamer}
\mode<presentation>{
  \usetheme{XY}
  \graphicspath{{./img/}}
}

% change to whatever colour you want
% if you don't define a new colour, the default blue will be used
\definecolor{mycolor}{RGB}{0,200,165}

\begin{document}
    \begin{frame}{Another frame}
         test
    \end{frame}
\end{document}

为了娱乐

您甚至可以更改单个幻灯片的颜色

\documentclass{beamer}
\mode<presentation>{
  \usetheme{XY}
  \graphicspath{{./img/}}
}

% change to whatever colour you want
\definecolor{mycolor}{RGB}{0,200,165}

\begin{document}

    \begin{frame}{Another frame}
         test
    \end{frame}

    \definecolor{mycolor}{RGB}{0,0,165}
    \begin{frame}{Another frame}
        test
    \end{frame}

    \definecolor{mycolor}{RGB}{0,200,0}
    \begin{frame}{Another frame}
        test
    \end{frame}

    \definecolor{mycolor}{RGB}{200,0,0}
    \begin{frame}{Another frame}
        test
    \end{frame}         

    \definecolor{mycolor}{RGB}{200,200,165}
    \begin{frame}{Another frame}
        test
    \end{frame}

\end{document}

在此处输入图片描述

相关内容