在多个样式文件之间传递选项

在多个样式文件之间传递选项

我从主文档加载一个包,比如 aaa.sty。

在 aaa.sty 中,我还加载了一个包,比如 bbb.sty。

我维护两个样式文件的原因是 aaa.sty 在 TeX 默认文件夹中,而 bbb.sty 在我的 dropbox 文件夹中。

当我尝试将选项从主文档传递到 bbb.sty 时出现了问题。

我使用以下方式:

主要文件:

\documentclass[10pt,a4paper]{article}
\usepackage[option={option_a=F, option_b=T}]{aaa}
\begin{document}
\xxx \yyy
\end{document}

aaa.sty:

\ProvidesPackage{aaa}
\RequirePackage{xkeyval}
\DeclareOptionX{option}{\def\myoption{#1}}
\ProcessOptionsX\relax
\usepackage[\myoption]{"C:/Users/XXX/Dropbox/YYY/ZZZ/bbb"}

bbb.sty:

\ProvidesPackage{bbb}
\DeclareOptionX{option_a}{\def\xxx{#1}}
\DeclareOptionX{option_b}{\def\yyy{#1}}
\ProcessOptionsX\relax

这在我的主计算机(安装了 TeX live 2019)上运行良好,但我发现这在我的子计算机(安装了 TeX live 2020)上运行不佳。

即使在我的子计算机中,如果我更改了以下绝对路径

\usepackage[\myoption]{"C:/Users/XXX/Dropbox/YYY/ZZZ/bbb"}

到以下相对路径

\usepackage[\myoption]{bbb}

那么,它运行良好。

你能帮我吗?

答案1

我偶然发现了一个解决方案。我应该使用

\usepackage[\myoption]{C:/Users/XXX/Dropbox/YYY/ZZZ/bbb}

代替

\usepackage[\myoption]{"C:/Users/XXX/Dropbox/YYY/ZZZ/bbb"}

仍然不知道为什么,但它确实有效了。

相关内容