我用该类编写了一个文档book
,并有一个文件( ) ,mainstyle.sty
其中包含许多我使用的包(pdfx
,,,等等)。lipsum
placeins
\ldots
我最近开始试用tufte-book
,收到了一些警告、错误和令人不快的消息。我已开始使用它,但我意识到需要花时间一点一点地调整它。我希望能够轻松切换类并轻松加载相应的包和选项。
这里的主要问题是该类tufte-book
之前加载了几个包,因此如果我只是动态地更改该类,我的文件就会崩溃。
现在,我所拥有的主文件是:
%\documentclass[a4paper]{tuftebook}
\documentclass[12pt,a4paper]{book}
\usepackage{./inc/mainstyle}
\begin{document}
text text text
\end{document}
我现在的想法是分成mainstyle.sty
两个文件,并使用条件语句的混合\PassOptionsToPackage
(灵感来自这些二问题)的想法是有一个parameters.sty
文件和一个load.sty
文件,主文档修改如下:
\input{./inc/parameters}
%\documentclass[a4paper]{tuftebook}
\documentclass[12pt,a4paper]{book}
\input{./inc/load}
\begin{document}
text text text
\end{document}
然后我会得到类似的东西:
%parameters.tex ---------
\PassOptionsToPackage{pdftex,pdfa,hidelinks}
和:
%% load.tex ------------
\makeatletter
\@ifclassloaded{book}{
\usepackage{hyperref}
}{
\@ifclassloaded{tufte-book}{
% hyperref was already loaded
}
}
\makeatother
这与本文提出的建议大致相同其他问题, 正确的?
但是感觉很麻烦,不知道是不是搞错了。另外,我对条件/宏等的理解还很有限。
这是正确的做法吗?