這個水平對齊是否正確?

這個水平對齊是否正確?

我正在繪製一個圖形,令我驚訝的是,下面的圖形在視覺上看起來並不居中:

\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 中訪問側軸承

輸出SB

它們之間的數位邊界框是相似的。這是 Yiannis Lazarides 回答的輸出

每個字母的邊界框

外BB

所以這個數字1確實延伸到了影像的左側!巧合的是,在 10pt 處,影像的左邊框正好位於墨水上。

相關內容