테마에 사용하기 위해 비머 메인 파일에 추가 정보에 대한 명령을 정의하는 방법은 무엇입니까?

테마에 사용하기 위해 비머 메인 파일에 추가 정보에 대한 명령을 정의하는 방법은 무엇입니까?

일반적인 비머 문서에서는 다음과 같은 다양한 옵션을 설정할 수 \author있습니다 \title.

main.tex

\documentclass{beamer}

\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]
%\def\talklocation{Berlin}

\usetheme{tudrobert}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\end{document}

그런 다음 템플릿 정의에 사용할 수 있습니다.

beamerthemetudrobert.tex

\mode<presentation>

\usepackage{graphicx}
\usepackage[absolute,overlay]{textpos}
\usepackage{calc}

\usepackage{fontspec}
\useinnertheme{tudrobert}

\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{blocks}[rounded][shadow=true]  

\mode<all>

마지막으로 명령을 사용하려는 테마는 다음과 같습니다.

beamerinnerthemetudrobert.tex

\mode<presentation>

\defbeamertemplate*{title page}{tudrobert}{%

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \vfill
    %\talklocation, \insertdate

}

\mode<all>

제안된 사용

\def\talklocation{Berlin}

그리고

\talklocation

오류가 발생합니다.

여기에 이미지 설명을 입력하세요

동일하게 적용됩니다

\newcommand{\talklocation}{Berlin}

테마에 전달할 추가 속성/문자열을 추가하는 적절한 방법은 무엇입니까?

답변1

의견에서 Jojo Boulix가 제안한대로비머 옵션가는 길입니다.

세 파일은 다음과 같습니다.

main.tex

\documentclass{beamer}

\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]

\usetheme[location=Berlin]{tudrobert}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\end{document}

beamerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{location}{\PassOptionsToPackage{location=#1}{beamerinnerthemetudrobert}}
\DeclareOptionBeamer{conference}{\PassOptionsToPackage{conference=#1}{beamerinnerthemetudrobert}}
\ProcessOptionsBeamer

\usepackage{graphicx}
\usepackage[absolute,overlay]{textpos}
\usepackage{calc}

\usepackage{fontspec}
\useinnertheme{tudrobert}

\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{blocks}[rounded][shadow=true]  

\mode<all>

beamerinnerthemetudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{location}{\def\beamer@tudrobert@location{#1}}    
\DeclareOptionBeamer{conference}{\def\beamer@tudrobert@conference{#1}}    
\ProcessOptionsBeamer

\defbeamertemplate*{title page}{tudrobert}{%

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \vfill
    \beamer@tudrobert@location, \insertdate
    \beamer@tudrobert@conference

}

\mode<all>

관련 정보