我有以下内容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}
。