LaTeX Beamer: создание собственной переменной

LaTeX Beamer: создание собственной переменной

Я пытаюсь создать собственную переменную, например \author{}или \date{}в классе LaTeX Beamer. Она мне нужна для изображения заголовка, которое я использую несколько раз в документе. В преамбуле я хотел бы указать путь к этому изображению, например , \setTitleImage{path/to/image}а затем в документе можно будет получить этот путь с помощью \titleImage. Я пробовал это с помощью , \newcommand{} но почему-то это не работает так, как ожидалось. Есть ли у кого-нибудь идеи, как это сделать?

Заранее большое спасибо.

Даниэль

решение1

beamer-fuberlinтема определяет команды \titlegraphicи \inserttitlegraphicкоторые могут делать то, что вам нужно.

\documentclass{beamer}

\mode
<all>
{
  \renewcommand\titlegraphic[2][]{%
    \edef\inserttitlegraphic{%
      \ifx\relax#2\relax\else
        \noexpand\includegraphics[#1]{#2}%
      \fi}%
    }%
  \titlegraphic{}
}

\titlegraphic[width=5cm,keepaspectratio]{images/valley}

\begin{document}
\begin{frame}
\inserttitlegraphic{}
\titlegraphic[width=3cm,keepaspectratio]{example-image}
\inserttitlegraphic{}
\end{frame}
\end{document}

введите описание изображения здесь

решение2

введите описание изображения здесь

\documentclass{beamer}

\titlegraphic{\includegraphics[width=.5\textwidth]{example-image}}

\begin{document}


\begin{frame}
\inserttitlegraphic
\end{frame}

\end{document}

решение3

Чтобы ответить на ваш общий вопрос

Я пытаюсь создать собственную переменную типа \author{} или \date{} в классе LaTeX Beamer.

например, с помощью переменной, содержащей супервизора, мы можем определить следующее:

\newcommand\insertsupervisor{}  % Empty by default.
\newcommand\supervisor[1]{\renewcommand\insertsupervisor{#1}}

Теперь мы можем использовать \supervisor{}в преамбуле, так же как мы использовали бы \author{}. Для отображения (содержимого) супервизора мы можем использовать \insertsupervisor.

Связанный контент