我想扩展 Ti钾Z 图片基于周围环境的字体大小。
例如...
\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 是相对于当前字体大小的单位。还必须考虑字体系列等因素,因为不同字体系列的字距或符号大小可能不同。