我从主文档加载一个包,比如 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"}
仍然不知道为什么,但它确实有效了。