如何设定\pgfmathsetmacro{\figurewidth}{\the\textwidth}
,以\the\textwidth
cm表示?
我尝试使用该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}