我有一个乳胶颜色定义文件(我用 替换\input
)来生成绿色、棕褐色和蓝色的“主题”PDF(与某些 Python 代码配合得很好)。最后一步是针对某些图形有条件地加载绿色、棕褐色或蓝色变体。
我对 LaTeX 还不熟悉,正在寻找一些建议,以便\includegraphics
在整个文档中加载这些图像的蓝色、棕褐色或绿色版本 - 具体取决于主题颜色。LaTeX 是否支持 if then 结构来加载图像?
或者我是否应该最好将主题图像移动到我的主“图像”目录中,并在 LaTeX 编译之前运行 python 代码?
答案1
您可以添加类似
\newcommand{\setthemecolor}[1]{\expandafter\def\csname theme#1\endcsname{}}
\setthemecolor{blue}
到您输入的文件的一部分,因此您明确指定主题颜色为blue
、green
或tan
。通过设置主题颜色,\setthemecolor
创建宏\themeblue
、\themegreen
或\themetan
。然后,您可以通过 检查这些宏中的哪些存在于您的文档中\ifcsname <macro>\endcsname <stuff> \fi
。
这是一个简单的例子:
\documentclass{article}
\newcommand{\setthemecolor}[1]{\expandafter\def\csname theme#1\endcsname{}}
\setthemecolor{blue}
\begin{document}
This is the start of the document.
\ifcsname themeblue\endcsname
This is only in a blue document.
\fi
\ifcsname themegreen\endcsname
This is only in a green document.
\fi
\ifcsname themetan\endcsname
This is only in a tan document.
\fi
This is the end of the document.
\end{document}
另一种方法是根据主题的颜色命名图像。例如,imageblue.pdf
和imagegreen.pdf
。imagetan.pdf
这样,您只需插入
\newcommand{\themecolor}{blue}
\input
在你使用的文件中
\includegraphics[<opt>]{image\themecolor}
无论您想在哪里输入特定主题的图像。