![如何使用 \widthof 和 \heightof 指定 \makebox 的宽度和高度而不产生错误?](https://linux22.com/image/364229/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20%5Cwidthof%20%E5%92%8C%20%5Cheightof%20%E6%8C%87%E5%AE%9A%20%5Cmakebox%20%E7%9A%84%E5%AE%BD%E5%BA%A6%E5%92%8C%E9%AB%98%E5%BA%A6%E8%80%8C%E4%B8%8D%E4%BA%A7%E7%94%9F%E9%94%99%E8%AF%AF%EF%BC%9F.png)
一旦出现以下(工作)定义
\newcommand
{\TESTFRACTION}
{%
\makebox
[\widthof{${}\left(\frac{a}{1}\right){}$}]
{${}\left(\frac{b}{1}\right){}$}
}
更改为也包括高度
\newcommand
{\TESTFRACTION}
{%
\makebox
(\widthof{${}\left(\frac{a}{1}\right){}$},
\heightof{${}\left(\frac{a}{1}\right){}$})
{${}\left(\frac{b}{1}\right){}$}
}
! Missing number, treated as zero.
\TESTFRACTION
在方程环境内使用的同一行上产生了错误。
以下是一个工作版本,可作为尝试获取\makebox' accept, both, width and height using
\widthof and
\heightof` 的脚手架
\documentclass{standalone}
\usepackage[alignedleftspaceno]{amsmath}
\usepackage{calc}
\usepackage{tikz}
\newcommand
{\TESTFRACTION}
{%
\makebox
[\widthof{${}\left(\frac{a}{1}\right){}$}]
{${}\left(\frac{b}{1}\right){}$}
}
\begin{document}
\begin{tikzpicture}
\path node
{%
$%
\begin{gathered}
\TESTFRACTION
\end{gathered}
$
};
\end{tikzpicture}
\end{document}
答案1
也等待其他人,但我认为,parbox
最好做你想做的事:
我们与 parbox 合作:
\documentclass{standalone}
\usepackage[alignedleftspaceno]{amsmath}
\usepackage{calc}
\usepackage{tikz}
\newcommand
{\TESTFRACTION}
{%
\parbox[c]
[\heightof{${}\left(\frac{a}{1}\right){}$}][c]
{\widthof{${}\left(\frac{a}{1}\right){}$}}
{${}\left(\frac{b}{1}\right){}$}
}
\begin{document}
\begin{tikzpicture}
\path node
{
$%
\begin{gathered}
\TESTFRACTION
\end{gathered}
$
};
\end{tikzpicture}
\end{document}
我还认为,makebox
您尝试使用的版本必须在图片环境中使用。这会使事情变得与您的需求不符。
答案2
钛钾Z 与此无关:calc
相关计算在坐标中不可用,例如在 中\makebox(x,y){BOX}
。顺便说一句,坐标应该是 的倍数,\unitlength
而不是长度。
在这种情况下,你picture
也可以利用传递长度的能力,\widthof
但是\heightof
是不可能的。
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{picture}
\usepackage{tikz}
\newlength{\TFW}\newlength{\TFH}
\newcommand{\TESTFRACTION}{%
\settowidth{\TFW}{$\left(\frac{a}{1}\right)$}%
\settoheight{\TFH}{$\left(\frac{a}{1}\right)$}%
\makebox(\TFW,\TFH){$\left(\frac{b}{1}\right)$}%
}
\begin{document}
\begin{tikzpicture}
\path node {%
$
\begin{gathered}
\TESTFRACTION
\end{gathered}
$%
};
\end{tikzpicture}
\end{document}