如何在指定“documentclass”时从不同的目录导入样式文件

如何在指定“documentclass”时从不同的目录导入样式文件

我有以下内容myfile.tex

\documentclass[aspectratio=169]{beamer}
\usetheme{mytheme}

我需要包含位于不同目录中的主题mytheme。例如,文件beamerthememytheme.sty../themefolder/beamerthememytheme.sty对于的位置myfile.tex

如果我做类似的事情:

\documentclass[aspectratio=169]{beamer}
\usetheme{../themefolder/mytheme}

我最终会得到一个错误,提示说../themefolder/beamerthememytheme.sty没有找到该文件。

我怎样才能创建正确的相对路径?

答案1

beamer\usetheme命令定义如下:

\newcommand\usetheme[2][]{\beamer@calltheme{#1}{#2}{beamertheme}}

并将beamertheme字符串添加到命令的参数前面\usetheme\beamer@calltheme命令定义如下:

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

所以基本上该\usetheme命令只是一个包装器\usepackage

因此您可以将文件重命名为mytheme.sty\usepackage{../themefolder/mytheme}

相关内容