Latex:在主文件中定义时在子文件中使用变量

时间:2018-05-07 09:33:08

标签: latex

如何在主文件中定义的子文件中使用变量?

在main.tex中我包含一些其他文件(例如样式定义)以及我编写版本控制并定义版本变量:

main.tex

\usepackage{mystyles}
\begin{versionhistory}
  \vhEntry{1.0}{1.1.2011}{abc}{Initial draft}
  % allways update the value of the version variable!
  \newcommand{\docVersion}{1.5}
\end{versionhistory}

样式文件包括:

mystyles.sty

\usepackage{fancyhdr} % better control of header and footer
\pagestyle{fancyplain}
\fancyhf{} % clear default header/footer format
\lfoot{\fancyplain{\thepage \docVersion}{\thepage \docVersion}}

但这不起作用。如果我在mystyles.sty中定义docVersion变量它工作正常,但我不想在更改文档的历史记录时修改mystyles.sty。那么如何在main.tex中定义一个变量并在子文件中使用它?

感谢 标记

1 个答案:

答案 0 :(得分:1)

错误是\newcommand命令的位置。它不能介于版本历史块之间。以下是有效的:

main.tex:

\usepackage{mystyles}
\newcommand{\docVersion}{1.5}
\begin{versionhistory}
  \vhEntry{1.0}{1.1.2011}{abc}{Initial draft}
  % allways update the value of the docVersion variable above!
\end{versionhistory}

和mystyles.sty

\usepackage{fancyhdr} % better control of header and footer
\pagestyle{fancyplain}
\fancyhf{} % clear default header/footer format
\lfoot{\fancyplain{\thepage \docVersion}{\thepage \docVersion}}