编辑

编辑

我想扩展 TiZ 图片基于周围环境的字体大小。

例如...

\documentclass{standalone}                                                                                                   
                                                                                                                             
\usepackage{tikz}      
                                                                                                                             
\begin{document}                                                                                                             
                                                             
{                                                                                                                            
\begin{tikzpicture}                                          
  \draw (-1,-1) rectangle (1,1);                                                                                             
  \node at (0,0) {Hello world};                      
\end{tikzpicture}                                                                                                            
}                                 
                                                                                                                             
{                                                                                                                            
\Huge                             
\begin{tikzpicture}                                                                                                          
  \draw (-1,-1) rectangle (1,1);                   
  \node at (0,0) {Hello world};                                                                                              
\end{tikzpicture}                                  
}                                                                                                                            
                                                   
{                                                                                                                            
\tiny                                                                                                                        
\begin{tikzpicture}      
  \draw (-1,-1) rectangle (1,1);                                                                                             
  \node at (0,0) {Hello world};                                                                                              
\end{tikzpicture}      
}                                                                                                                            
                                                                                                                             
\end{document}      

我希望这些图像中的第二张和第三张看起来像第一张,但经过缩放。是否可以使用Ti 上的x=和键y=Z 图片环境允许根据当前字体大小缩放图像吗?


编辑

经过进一步的努力,我得出了以下结论......

\documentclass{standalone}

\usepackage{tikz}
\usepackage{printlen}

\newlength{\textsizenow}
\makeatletter
\newcommand{\refreshtextsizenow}{%
  \setlength{\textsizenow}{\f@size pt}
  }
\makeatother

\newcommand{\example}{%
  \refreshtextsizenow
  \begin{tikzpicture}[x=\textsizenow,y=\textsizenow]
    \draw (-3,-3) rectangle (3,3);
    \node at (0,0) {Hello world};
  \end{tikzpicture}
  }

\begin{document}

{
\Huge
\example
}

{
\huge
\example
}

{
\LARGE
\example
}

{
\Large
\example
}

{
\large
\example
}

{
\normalsize
\example
}

{
\small
\example
}

{
\footnotesize
\example
}

{
\scriptsize
\example
}

{
\tiny
\example
}

\end{document}

它用于\f@size在绘制每幅图像之前设置长度。然后我使用x=...,y=...键来设置坐标大小。这似乎关闭我正在尝试做的事情。但是,如果编译上面的代码,文本和侧面之间的水平间距会随着文本大小的减小而缩小。垂直间距似乎有些一致。我希望水平和垂直间距都保持不变。这可以修复吗?

答案1

对于与字体大小相关的图像,可以使用以下选项

\begin{tikzpicture}[x=1em,y=1em]
    \draw (-3,-3) rectangle (3,3);
    \node at (0,0) {Hello world};
\end{tikzpicture}

这样就设置了坐标系统,因此1实际上1em. em 是相对于当前字体大小的单位。还必须考虑字体系列等因素,因为不同字体系列的字距或符号大小可能不同。

相关内容