所附代码尝试使用 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}
输出: