이 수평 정렬이 맞나요?

이 수평 정렬이 맞나요?

나는 그림 위에 그림을 그리고 있는데 다음이 시각적으로 중앙에 보이지 않는 것에 놀랐습니다.

\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다른 숫자와 (그리고 문자와도!) 매우 다릅니다 . lPhilipp Gesang에서 제공하는 프로그램을 사용한 출력입니다.

LuaTeX에서 측면 베어링에 접근하기

아웃SB

숫자의 경계 상자는 서로 유사합니다. 이것은 Yiannis Lazarides 답변의 결과입니다.

각 문자의 경계 상자

아웃BB

따라서 숫자는 1실제로 이미지 왼쪽으로 확장됩니다! 이미지의 왼쪽 경계선 10pt가 잉크 오른쪽에 있는 것은 우연의 일치입니다.

관련 정보