如何在项目源文件夹中使用本地 Beamer 主题

如何在项目源文件夹中使用本地 Beamer 主题

是否可以使用与当前项目放在同一文件夹中的本地主题beamer?即,/project-name/theme/在编译项目时,您可以对其进行更新并立即获取更改。

这在开发新主题时非常方便,因为您(至少在 Windows 中使用 MikTeX)必须在开发时不断刷新名称数据库。

答案1

如果您查看beamerbasetheme.sty文件,将会看到\usetheme命令被定义为特定\usepackage命令。因此\usetheme{my-theme-name}转换为。对、、...主题也\usepackage{beamerthememy-theme-name}进行了类似的转换。colorouter

\mode
<presentation>
{
  \def\beamer@calltheme#1#2#3{%
    \def\beamer@themelist{#2}
    \@for\beamer@themename:=\beamer@themelist\do
    {\usepackage[{#1}]{#3\beamer@themename}}}

  \newcommand\usetheme[2][]{\beamer@calltheme{#1}{#2}{beamertheme}}
  \newcommand\usecolortheme[2][]{\beamer@calltheme{#1}{#2}{beamercolortheme}}
  \newcommand\usefonttheme[2][]{\beamer@calltheme{#1}{#2}{beamerfonttheme}}
  \newcommand\useoutertheme[2][]{\beamer@calltheme{#1}{#2}{beameroutertheme}}
  \newcommand\useinnertheme[2][]{\beamer@calltheme{#1}{#2}{beamerinnertheme}}
}

因此,如果您想将所有主题文件放在工作文件夹内的文件夹中,我能提供的最佳解决方案是使用\usepackage{theme-folder/my manually translated theme name}

有一个更好的解决方案,我无法提供,即使用主题文件夹的第四个参数来破解上一个命令。在处理主题时使用这些新命令,完成后将它们忘掉,并将所有主题文件移动到regulartex 文件夹。

相关内容