這是後續這個水平對齊是否正確?。簡而言之,我想列印100 µm
以比例尺為中心的文字。這樣做的問題是數字1
具有與數字相同的寬邊界框5
(可能是為了簡化數位材料的對齊),因此邊界框比字元本身佔用更多的空間。結果,水平居中關閉。
是否有數字的變體1
具有更緊密、更“類似文本內”的邊界框?我可以輕鬆建造一個嗎?
答案1
是否有數字 1 的變體,具有更緊密、更「類似文字內」的邊界框?
聽起來您正在尋找按比例間隔的數字,而不是通常的固定間隔的數字。
我可以輕鬆建造一個嗎?
這取決於您使用的字體和 LaTeX 編譯器。如果您使用 XeLaTeX 或 LuaLaTeX 而不是預設的 pdfLaTeX 來編譯文檔,您的任務就相當容易完成。對比下面第一張和第二張tikz圖;切換到按比例間隔的數字的效果1
是明顯可見的,但非常微妙。
為了獲得最大的視覺效果,您可能實際上想要切換到所謂的「舊式」數字;請參閱下面的第三張 tikz 圖片。
% !TEX TS-program = lualatex
% or: !TEX TS-program = xelatex
\documentclass{article}
\usepackage{fontspec}
% Set the default font (fixed-width lining-type numerals):
\setmainfont{Latin Modern Roman}
% Same font family, but with proportionally-spaced numerals:
\newfontfamily\LMPropNums{Latin Modern Roman}[Numbers={Proportional}]
% Same font family, but with oldstyle numerals:
\newfontfamily\LMOldStyle{Latin Modern Roman}[Numbers=OldStyle]
\newcommand\POne{{\LMPropNums 1}} % just the numeral "1"
\usepackage{tikz}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{@{}ll@{}}
111 & fixed spaced \\
\LMPropNums 111 & proportionally spaced \\
000 & fixed spaced \\
\LMPropNums 000 & proportionally spaced
\end{tabular}
\begin{tikzpicture}
\draw (0, 0)
node (image){\includegraphics[width=1.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}
% Use a proportionally-spaced digit "1":
\begin{tikzpicture}
\draw (0, 0)
node (image){\includegraphics[width=1.1cm]{example-image} };
\draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
node (text){\POne00\,\si{\micro\meter} };
\end{tikzpicture}
% Switch to old-style numerals:
{\LMOldStyle
\begin{tikzpicture}
\draw (0, 0)
node (image){\includegraphics[width=1.1cm]{example-image} };
\draw[red, x={(image.south east)}, y={(image.north west)}] (0.5, 0.5)
node (text){100\,\si{\micro\meter} };
\end{tikzpicture}}
\end{document}