我知道我要问的问题与这里发布的其他问题类似。但是,我仍然找不到正确的答案。我已检查:
言归正传,我想纹一个欧拉恒等式的纹身。所以我想确定一下文字的高度。
基本上这就是我的问题,如何将文本的高度设置为特定高度(在本例中可能是从基线到上升部),以厘米为单位,比如 1 厘米。
以下是我目前所做的工作:
\documentclass{standalone}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{adjustbox}
\begin{document}
\begin{tikzpicture}
\draw[red,line width = 1mm] (0,0)--node[color=black,left](T) { \adjustbox{scale=3}{
$\displaystyle e^{i \pi} + 1 = 0$
}} (0,1cm);
\draw[red] (0,0)--(-6cm,0);
\draw[red] (0,1)--++(-6cm,0);
\end{tikzpicture}
\end{document}
这里我得到了我想要的近似高度,但基本上我只是在解决问题,而不是正确地解决问题。我在底部和上部画了一条高度为 1 厘米的垂直线和另外两条水平线。然后,在调整框中调整比例值后,我得到了与我想要的类似的结果。
但是再一次,还有其他方法(直接,有效或更简单)来获得期望的结果吗?
提前感谢您的贡献!
编辑 1:我还有一个问题:在我的解决方案中,与 @pascal974 的解决方案一样,加号低于基线。有没有办法将 + 向上移动,使其保持在基线之上?
我尝试用 scriptstyle 包装 + 号:
$e^{i \pi}\, {\scriptstyle + } \,1 = 0$
干杯!
答案1
我的示例中的 {adjustbox}{totalheight=..} 为 3cm。
\documentclass{article}
\usepackage{tikz}
\usepackage{adjustbox}
\begin{document}
\newcommand{\h}{3cm}
\begin{tikzpicture}
\node [draw,inner sep =0pt] at (0,0){%
\begin{adjustbox}{totalheight=\h}
$e^{i \pi} + 1 = 0$
\end{adjustbox}};
\end{tikzpicture}\rule{1mm}{\h}
\end{document}
答案2
在普通 TeX 中,你可以用 1 厘米除以公式的高度,然后应用商(乘以 1000),如下所示\magnification
:
\dimen0=1cm
\setbox0=\hbox{$e^{i\pi}+1=0$}
\dimen1=\ht0 \advance\dimen1 by\dp0
\count0=\dimen0 \multiply\count0 by 1000
\count1=\dimen1 \divide\count0 by\count1
\magnification=\count0
\box0
\bye
(舍入误差比纹身误差要小。)