Tikz 并不总是计算方程式

Tikz 并不总是计算方程式

所附代码尝试使用 alphalph 包和 f_1 通过简单的算术打印英文字母表的首字母。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{alphalph}
\title{}
\author{}
\date{}
\begin{document}
\maketitle

\begin{tikzpicture}
\def\x {1}
\draw (0,0) node {$\alphalph{0+\x}$};
\end{tikzpicture}

\begin{tikzpicture}
\def\x {1}
\draw (0,0) node {$f_{0+\x}$};
\end{tikzpicture}

\end{document}

尽管两个所需计算都括在一个括号中,但第一个计算按预期运行,而第二个计算仅进行替换而不进行计算。

为什么行为会有差异?如何才能确保无论如何方程式都能计算出来?

答案1

像这样:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz,siunitx}

\sisetup{round-mode = places, round-precision = 0} % fix # of

\usepackage{alphalph}

\begin{document}

    \begin{tikzpicture}
        \def\x {1}
        \draw (0,0) node {$\alphalph{0+\x}$};
    \end{tikzpicture}
    
    \begin{tikzpicture}
        \def\x {1}
        \pgfmathsetmacro{\j}{\x+0}
        \draw (0,0) node {$f_{\num{\j}}$};
    \end{tikzpicture}
    
\end{document}

输出:

在此处输入图片描述

相关内容