Tikz 中的“em”指的是哪种字体大小?

Tikz 中的“em”指的是哪种字体大小?

使用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

显然,TiZ 首先切换到当前字体(在图片外有效)并计算 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}

在此处输入图片描述

相关内容