メインファイルからbeameroptions経由でbeamerthemeにテキスト/文字列を渡す方法、または別の方法はありますか?

メインファイルからbeameroptions経由でbeamerthemeにテキスト/文字列を渡す方法、または別の方法はありますか?

これそしてこの質問私は、次のような簡単な定義を渡す方法を学びました。位置メインファイルから例えばビームルーターテーマ

しかし、このアプローチは長い文字列やテキストブロックには適用できません。この例では

"こんにちは世界!"


メイン.tex

\documentclass{beamer}

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

\usetheme[myText=Hello World!]{tudrobert}

\begin{document}

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

\end{document}

これをテンプレート定義で使用できます。

ビームアザメトゥロバート.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\PassOptionsToPackage{myText=#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>

最後に、テキストを挿入したいテーマです。

ビームインナーテーマudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\def\beamer@tudrobert@myText{#1}}    
\ProcessOptionsBeamer

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

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

}

\mode<all>

ご覧のとおり、テキストは正しく解析されていません。

ここに画像の説明を入力してください

メイン ファイルで定義されたテキストを Beamer テーマに渡す適切な方法は何ですか?

答え1

以下の回答はhttps://tex.stackexchange.com/a/58512/36296そしてlatex.ltxの著者定義

メイン.tex

\documentclass{beamer}

\usetheme[myText=Hello World!]{tudrobert}

\author{George Orwell}
\title{Animal Farm}
\date{\today}
\institute[TUD]
\def\uni{Hello World!}

\begin{document}

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

\end{document}

ビームアザメトゥロバート.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\PassOptionsToPackage{myText=#1}{beamerinnerthemetudrobert}}
\ProcessOptionsBeamer

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

\def\uni#1{\gdef\@uni{#1}}
\def\@uni{\@latex@warning@no@line{No \noexpand\uni given}}

\useinnertheme{tudrobert}

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

\mode<all>

ビームインナーテーマudrobert.tex

\mode<presentation>

\DeclareOptionBeamer{myText}{\def\beamer@tudrobert@myText{#1}}    
\ProcessOptionsBeamer

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

    \usebeamerfont*{title}
    \MakeUppercase{\inserttitle}\par
    \vfill
    {\scriptsize\insertauthor}
    \vfill
    \beamer@tudrobert@myText
    \vfill
    \insertdate
    \vfill
    \@uni

}

\mode<all>

ここに画像の説明を入力してください

関連情報