在 \pgfmathsetmacro 内使用 \textwidth(厘米)

在 \pgfmathsetmacro 内使用 \textwidth(厘米)

如何设定\pgfmathsetmacro{\figurewidth}{\the\textwidth},以\the\textwidthcm表示?

我尝试使用该lengthconvert包,它可以很好地打印以厘米为单位的文本宽度,但在 内失败\pgfmathsetmacro

非工作 MWE

\documentclass{article}

\usepackage[a4paper, margin=2cm]{geometry}
\usepackage{tikz}
\usepackage{lengthconvert}
\usepackage{layouts}

\begin{document}
    
    textwidth in pt:\the\textwidth
    
    textwidth in cm: \Convert[unit=cm]{\the\textwidth}
    
    \pgfmathsetmacro{\timefigurewidth}{\Convert[unit=cm]{\the\textwidth}}
    

\end{document}

答案1

您可以将长度除以cm得到其以厘米为单位的值。请注意,这\pgfmathsetmacro得到的是宏,而不是长度。

\documentclass{article}

\usepackage[a4paper, margin=2cm]{geometry}
\usepackage{tikz}
\usepackage{lengthconvert}
\usepackage{layouts}

\begin{document}
    
    textwidth in pt:\the\textwidth
    
    textwidth in cm: \Convert[unit=cm]{\the\textwidth}
    
    \pgfmathsetmacro{\timefigurewidth}{scalar(\textwidth/1cm)}% scalar is not absolutely necessary but cleaner
    \edef\timefigurewidth{\timefigurewidth cm}%
    textwidth in cm computed by pgf: \timefigurewidth

\end{document}

在此处输入图片描述

相关内容