是否可以使用与当前项目放在同一文件夹中的本地主题beamer
?即,/project-name/theme/
在编译项目时,您可以对其进行更新并立即获取更改。
这在开发新主题时非常方便,因为您(至少在 Windows 中使用 MikTeX)必须在开发时不断刷新名称数据库。
答案1
如果您查看beamerbasetheme.sty
文件,将会看到\usetheme
命令被定义为特定\usepackage
命令。因此\usetheme{my-theme-name}
转换为。对、、...主题也\usepackage{beamerthememy-theme-name}
进行了类似的转换。color
outer
\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}
。
有一个更好的解决方案,我无法提供,即使用主题文件夹的第四个参数来破解上一个命令。在处理主题时使用这些新命令,完成后将它们忘掉,并将所有主题文件移动到regular
tex 文件夹。