我可以更改數字 1 的邊界框嗎?

我可以更改數字 1 的邊界框嗎?

這是後續這個水平對齊是否正確?。簡而言之,我想列印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}

相關內容