我有一系列由 lualatex 编译的 .tex 文件,这个特定的 .tex 文件正在生成标题 4,并且编译后,后面 .tex 文件中的所有文本都显示为粗体,即使它们前面没有 \textbf 或 \bf。我假设我缺少一个括号结尾,但事实并非如此,所以我尝试删除第一个 \textbf,因此该行显示为:
\hspace{1cm}\large{Title 1, \foo}
但这破坏了一切,并给了我这个错误:“!不完整的 \ifnum;第 293 行之后的所有文本都被忽略了。”我能够从标题 3 行中删除 \textbf不是调用富但是,我的想法是问题就出在那个功能上。
我快速谷歌了一下这里,但我尝试使用我的函数中的 %s,却无法弄清楚如何使其编译或修复加粗问题。
我真的被这个问题难住了,非常感谢任何建议!!提前谢谢!
\documentclass{article}
\newcommand{\insertquarter}{%
Q%
\ifcase\month\or4\or1\or1\or1\or2\or2\or2\or3\or3\or3\or4\or4\fi
}
\newcommand{\lastMonthAlternate}{\ifcase \month\or %
December \or January\or February\or March\or %
April\or May \or June\or July\or August\or September\or October\or November\fi \hspace{1mm}\number \numexpr\year\ifnum\month=1 -1\fi\relax}
\newcommand{\foo}{%
\ifnum\month=1
\insertquarter\ \number\numexpr\year-3\relax\ -- \insertquarter\ \number\numexpr\year-1\relax
\else%
\ifnum\month\or4\or7\or10
\insertquarter\ \number\numexpr\year-2\relax\ -- \insertquarter\ \number\year
\else%
\insertquarter\ \number\numexpr\year-2\relax\ -- \lastMonthAlternate
\fi%
}
\begin{document}
\hspace{1cm}\large\textbf{Title 1, \foo}
\hspace{1cm}\large\textbf{Title 2, \foo}
\hspace{1cm}\large\textbf{Title 3}
\hspace{1cm}\large{Title 4}
\end{document}
答案1
\foo
如果您尝试在 之外使用宏\textbf
,则会看到错误Incomplete \ifnum
。这表明您的\foo
宏实际上并没有按您希望的方式工作,因为您缺少\fi
。如果我们将其添加\fi
到宏中,那么您的文档将按预期工作。
\documentclass{article}
\newcommand{\insertquarter}{%
Q%
\ifcase\month\or4\or1\or1\or1\or2\or2\or2\or3\or3\or3\or4\or4\fi
}
\newcommand{\lastMonthAlternate}{\ifcase \month\or %
December \or January\or February\or March\or %
April\or May \or June\or July\or August\or September\or October\or November\fi \hspace{1mm}\number \numexpr\year\ifnum\month=1 -1\fi\relax}
\newcommand{\foo}{%
\ifnum\month=1
\insertquarter\ \number\numexpr\year-3\relax\ -- \insertquarter\ \number\numexpr\year-1\relax
\else%
\ifnum\month\or4\or7\or10
\insertquarter\ \number\numexpr\year-2\relax\ -- \insertquarter\ \number\year
\else%
\insertquarter\ \number\numexpr\year-2\relax\ -- \lastMonthAlternate
\fi
\fi%
}
\begin{document}
\hspace{1cm}\large\textbf{Title 1,\foo }
\hspace{1cm}\large{Title 4}
\end{document}