在 tikz 环境中使用 \if 语句

在 tikz 环境中使用 \if 语句

为了在每章开头显示大章节编号,我创建了一个 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}提供的原因:它指向“抽象”值,与表示无关。

相关内容