![带长度寄存器的 pgf 列表](https://linux22.com/image/475790/%E5%B8%A6%E9%95%BF%E5%BA%A6%E5%AF%84%E5%AD%98%E5%99%A8%E7%9A%84%20pgf%20%E5%88%97%E8%A1%A8.png)
是否可以tikz
使用长度寄存器生成列表?
举个例子:
\foreach \x in {0,1,...,6}
生成以下列表:“0,1,2,3,4,5,6”
但现在我想使用寄存器\pas
和生成一个列表\largeur
,即
\foreach \x in {0,\pas,...,\largeur}
但这不起作用。
平均能量损失
\documentclass{beamer}
\newlength{\slw}\setlength{\slw}{160mm}
\newlength{\slh}\setlength{\slh}{90mm}
\geometry{verbose,papersize={\slw,\slh}}
\mode<presentation>
\usetheme{metropolis}
\usepackage{tikz,pgffor}
\usetikzlibrary{calc}
\newlength\pas
\setlength\pas{10mm}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\foreach \x in {0,\pas,...,\slw}
{
\node at (\x,0) {\x};
}
\end{tikzpicture}
\end{frame}
\end{document}
答案1
您可以使用例如https://tex.stackexchange.com/a/541869/36296转换为厘米
\documentclass[aspectratio=169]{beamer}
\mode<presentation>
\usetheme{moloch}% modern fork of the metropolis theme
\usepackage{tikz}
\usetikzlibrary{calc}
\newlength\pas
\setlength\pas{10mm}
% from https://tex.stackexchange.com/a/541869/36296
\NewExpandableDocumentCommand{\getlengthnumber}{O{pt}m}{%
% #1 (optional, default pt), #2 = length
\fpeval{(#2)/(1#1)}%
}
\begin{document}
\begin{frame}
\begin{tikzpicture}
\foreach \x in {0,\getlengthnumber[cm]{\pas},...,\getlengthnumber[cm]{\paperwidth}}
{
\node at (\x,0) {\x};
}
\end{tikzpicture}
\end{frame}
\end{document}