![Tikz 中的“em”指的是哪种字体大小?](https://linux22.com/image/469722/Tikz%20%E4%B8%AD%E7%9A%84%E2%80%9Cem%E2%80%9D%E6%8C%87%E7%9A%84%E6%98%AF%E5%93%AA%E7%A7%8D%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%EF%BC%9F.png)
使用tikz
,我将字体大小设置为\footnotesize
,但text width=5em
宽度不如 中一个字符宽度的 5 倍那么宽\footnotesize
。
\documentclass{article}
\usepackage{tikz,lipsum}
\begin{document}
\tikzset{font=\footnotesize}
\begin{tikzpicture}
\node[rectangle,text width=5em] {\lipsum[1]};
\end{tikzpicture}
\end{document}
生产
这text width=5\widthof{\footnotesize X}
会导致错误。是什么原因?我该如何修复?
答案1
显然,Ti钾Z 首先切换到当前字体(在图片外有效)并计算 5em;直到后来它才这样做\footnoteseize
。
\documentclass{article}
\usepackage{tikz}
\def\ttt{aa bb cc d ee f gg h ii jj kk l m nn o p q r ss tt uu}
\begin{document}
\noindent{\footnotesize\kern-0.4pt\vrule\strut\hspace{5em}\vrule}
\noindent\fboxsep=0pt\fboxrule=0.4pt\kern-0.4pt\fbox{%
\begin{tikzpicture}[font=\footnotesize,inner sep=0pt]
\node[rectangle,text width=5em] {\ttt};
\end{tikzpicture}}
\noindent{\kern-0.4pt\vrule\strut\hspace{5em}\vrule}
\end{document}
\tikzset{font=\footnotesize}
如果你在图片外面有东西,那并不重要。
另一方面,如果您\footnotesize
在图片内设置……
\documentclass{article}
\usepackage{tikz}
\def\ttt{aa bb cc d ee f gg h ii jj kk l m nn o p q r ss tt uu}
\begin{document}
\noindent{\footnotesize\kern-0.4pt\vrule\strut\hspace{5em}\vrule}
\noindent\fboxsep=0pt\fboxrule=0.4pt\kern-0.4pt\fbox{%
\tikzset{font=\footnotesize}%
\begin{tikzpicture}[inner sep=0pt]
\footnotesize
\node[rectangle,text width=5em] {\ttt};
\end{tikzpicture}}
\noindent{\kern-0.4pt\vrule\strut\hspace{5em}\vrule}
\end{document}