LaTeX 中上下文相關的長度“單位”

LaTeX 中上下文相關的長度“單位”

我想在某些巨集中包含一個「上下文相關」的分隔空間(在某種意義上,當呼叫巨集時,例如在下標內部,分隔空間相應地減少)。

是否有任何特定命令產生這種行為?

否則,我很想使用命令\phantom來模擬它,例如:

\newcommand{\contextseparate}[2]{#1 \phantom{M} #2} 

最後一種方法可以接受嗎? (出於某種原因,它對我來說看起來很糟糕)

答案1

\ThisStyle{}如果您從套件中嵌入巨集定義scalerel,它會將\LMpt和識別\LMex為隨本地數學大小縮放的長度。

\LMpt更具體地,和的縮放因子\LMex被預先定義(但可以重置)為

\def\scriptstyleScaleFactor{0.7}
\def\scriptscriptstyleScaleFactor{0.5}

\textstyle顯然,和 的比例因子為 1 \displaystyle。氣象局:

\documentclass{article}
\usepackage{scalerel}
\newcommand{\contextseparate}[2]{\ThisStyle{#1\kern1.5\LMex#2}} 
\begin{document}
$\contextseparate{A}{B}$\par
$\scriptstyle\contextseparate{A}{B}$\par
$\scriptscriptstyle\contextseparate{A}{B}$
\end{document}

在此輸入影像描述

如果您需要在無法訪問的地方(例如在盒子內)調用當前的數學樣式,您可以調用\SavedStyle以恢復在關聯的\ThisStyle.

\documentclass{article}
\usepackage{scalerel}
\newcommand{\contextseparate}[2]{\ThisStyle{\fboxsep=0pt%
  #1\fbox{$\phantom{\SavedStyle m}$}#2}} 
\begin{document}
$\contextseparate{A}{B}$\par
$\scriptstyle\contextseparate{A}{B}$\par
$\scriptscriptstyle\contextseparate{A}{B}$
\end{document}

在此輸入影像描述

相關內容