为了在每章开头显示大章节编号,我创建了一个 tikz 环境并将其添加到 CLS 文件中,如下所示:
\begin{tikzpicture}
........
\node[anchor=north west, inner sep=0pt, ] at (0.905\textwidth,1.42) {\sffamily\fontsize{130}{150}\selectfont \color{gray}\thechapter};
........
\end{tikzpicture}
这样,\thechapter
目录、表格列表和图片列表中的编号就会显示为“0”,这是不理想的。我希望编号从第一章开始为“1”,依此类推。因此,我添加了\if
如下语句:
\begin{tikzpicture}
........
\ifnum\value{\thechapter}>0{
\node[anchor=north west, inner sep=0pt, ] at (0.905\textwidth,1.42) {\sffamily\fontsize{130}{150}\selectfont \color{gray}\thechapter};
\else{};
\fi;
........
\end{tikzpicture}
但\thechapter
编号完全消失了,所以显然我没有正确使用该语句。那么,在这种情况下,\if
哪种方式才是使用该语句的正确方法?\if
任何想法都将受到赞赏。
答案1
该命令\value
需要作为其参数姓名一个柜台,所以你想要
\ifnum\value{chapter}>0
\node[anchor=north west, inner sep=0pt, ] at (0.905\textwidth,1.42) {\sffamily\fontsize{130}{150}\selectfont \color{gray}\thechapter};
\fi
表示真或假的文本周围不需要括号(除非您确实需要它们,例如为了本地化字体更改)。\else
如果分支为空,则可以省略。
你可能会在其他地方找到类似的内容\ifnum\thechapter>0
,但这是错误的,因为\thechapter
将提供当前表示计数器chapter
,在此上下文中可能有用也可能没用。假设它没用更安全;这就是\value{chapter}
提供的原因:它指向“抽象”值,与表示无关。