这个水平对齐正确吗?

这个水平对齐正确吗?

我正在绘制一个图形,但令我惊讶的是,从视觉上看,下面的图形并不居中:

\documentclass{article}
\usepackage{mwe}
\usepackage{tikz}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
    \draw (0, 0)
    node (image) { \includegraphics[width=1cm]{example-image} };

    \draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
    node (text) { \SI{100}{\micro\meter} };
\end{tikzpicture}
\end{document}

请注意红色文本如何延伸到图像的右边缘,而没有延伸到左边缘:

在此处输入图片描述

替换\SI{100}{\micro\meter}似乎---------表明 TikZ 代码是正确的: 在此处输入图片描述

是我太挑剔了吗,还是内容不一致siunitx

答案1

这似乎是1和 10 点字体大小之间的视觉效果。将 100 换成 500 一切看起来都很正常(对眼睛而言)。放大或缩小字体大小也一样。我不知道是否siunitx修改了数字和单位之间的空间。排版\SI{500}{}\SI{500}{}中间看起来完全居中。还请比较省略使用0时的结果。SI{100 \textmu m}

\documentclass{article}

\usepackage{mwe}
\usepackage{tikz}
\usepackage{siunitx}

\begin{document}
    
default size font
    
\begin{tikzpicture}
    \draw (0, 0)
    node (image) { \includegraphics[width=1cm]{example-image} };
    
    \draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
    node (text) {\SI{100}{\micro\meter}};
\end{tikzpicture}


\begin{tikzpicture}
    \draw (0, 0)
    node (image) { \includegraphics[width=1cm]{example-image} };
    
    \draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
    node (text) {\SI{500}{\micro\meter}};
\end{tikzpicture}

without SI

    \begin{tikzpicture}
\draw (0, 0)
node (image) { \includegraphics[width=1cm]{example-image} };

\draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
node (text) {100 \textmu m };
\end{tikzpicture}


\begin{tikzpicture}
\draw (0, 0)
node (image) { \includegraphics[width=1cm]{example-image} };

\draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
node (text) {500 \textmu m};
\end{tikzpicture}


{\large%
larger font
    
\begin{tikzpicture}
    \draw (0, 0)
    node (image) { \includegraphics[width=1cm]{example-image} };
    
    \draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
    node (text) { \SI{100}{\micro\meter} };
\end{tikzpicture}
}

{\small%
smaller font
    
\begin{tikzpicture}
    \draw (0, 0)
    node (image) { \includegraphics[width=1cm]{example-image} };
    
    \draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
    node (text) { \SI{100}{\micro\meter} };
\end{tikzpicture}
}   

\end{document}

输出

更新

事实上,就边距而言,这个数字1与其他数字(以及字母l)有很大不同。这是使用 Philipp Gesang 提供的程序的输出。

在 LuaTeX 中访问侧边距

出局

这些数字的边界框彼此相似。这是 Yiannis Lazarides 回答以下问题的输出:

每个字母的边界框

出局

所以数字1确实延伸到了图像的左侧! 10pt 处图像的左边框正好位于墨水上,这只是一个巧合。

相关内容