LaTeX의 상황에 맞는 길이 "단위"

LaTeX의 상황에 맞는 길이 "단위"

일부 매크로에 "상황에 맞는" 분리 공간을 포함하고 싶습니다(예를 들어 아래 첨자 내부에서 매크로가 호출되면 그에 따라 분리 공간이 줄어든다는 의미에서).

그러한 동작을 생성하는 특정 명령이 있습니까?

그렇지 않으면 다음 명령을 사용하여 \phantom시뮬레이션하고 싶은 유혹이 듭니다.

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

이 마지막 접근 방식이 허용됩니까? (어떤 이유에서인지 나에게는 안 좋아 보인다)

답변1

\ThisStyle{}패키지 의 매크로 정의를 포함하면 및 Local-Math 크기에 따라 확장되는 길이로 scalerel인식됩니다 .\LMpt\LMex

\LMpt보다 구체적으로, 및 에 대한 배율 인수는 \LMex다음과 같이 사전 정의됩니다(그러나 재설정될 수 있음).

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

분명히, 스케일 팩터는 \textstyle및 에 대해 1입니다 \displaystyle. MWE:

\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}

여기에 이미지 설명을 입력하세요

관련 정보