siunitx를 사용하여 방정식의 지수를 어떻게 취소합니까?

siunitx를 사용하여 방정식의 지수를 어떻게 취소합니까?

아래의 최소 작업 예제는 문제를 보여줍니다. 분자에는 제곱미터가 있고 분모에는 미터가 있는 아래 첫 번째 방정식과 같은 형식의 방정식이 많이 있습니다. 지수를 취소하고 싶지만 지금은 "m m"이라고 말하고 첫 번째 "m"을 취소해야 하는데 좀 이상해 보입니다.

\documentclass{article}
\usepackage{siunitx}
\usepackage{cancel}
\begin{document}
    How can I cancel out the exponent in the numerator of the following equation?
    \begin{equation}
        W = \frac{\SI{32}{\square\meter}}{\SI{4}{\meter}} = \SI{8}{\meter}
    \end{equation}
    If instead of using \si{\square\meter} I use \si{\meter\meter}, it's easy:
    \begin{equation}
        W = \frac{\SI{32}{\cancel\meter\meter}}{\SI{4}{\cancel\meter}} = \SI{8}{\meter}
    \end{equation}
\end{document}

분명히 미터를 미터로 나눈 세제곱이라면 3을 취소하고 2를 따르고 싶지만 아직 그런 문제는 발생하지 않았습니다. 미리 감사드립니다!

답변1

siunitxMico가 언급했듯이, 모두 건너뛰고 수동으로 설정하는 것이 더 쉬울 것입니다 . 을 계속 사용하고 싶다면 커닝을 사용하여 올바른 위치에 siunitx배치할 수 있습니다 . \cancel예를 들어 다음 매크로 쌍을 사용할 수 있습니다. . 예를 들어, 아래 매크로 1 해당 항목에 줄을 그어 지울 수 있습니다.결정적인단위의 첨자.

\usepackage{calc}

\newdimen{\KernAmount}

\newcommand{\cancelsup}[2]{%
  \setlength{\KernAmount}{\widthof{{\scriptsize \cancel{#1}}}*\real{-1}}%
  #2\kern\KernAmount\vphantom{}^{\cancel{\phantom{#1}}}}

\newcommand{\canceltosup}[3]{%
  \setlength{\KernAmount}{\widthof{{\scriptsize \cancel{#1}}}*\real{-1}}%
  #3\kern\KernAmount\vphantom{}^{\cancel{\phantom{#1}}}\vphantom{}^{^{#2}}}

첫 번째는 지수를 지우고 두 번째는 취소 위의 작은 텍스트에 대체 거듭제곱을 배치합니다. 예를 들어:

\[
    W = \frac{\cancelsup{2}{\SI{32}{\square\meter}}}{\SI{4}{\cancel\meter}} = \SI{8}{\meter}
\] \[
    W = \frac{\canceltosup{3}{2}{\SI{32}{\cubic\meter}}}{\SI{4}{\cancel\meter}} = \SI{8}{\square\meter}
\]

위 코드의 출력 스크린샷

두 가지 모두 취소할 번호에 대한 자리 표시자를 제공해야 합니다. 이는 올바른 취소 모양과 위치가 발생하는지 확인하기 위한 것입니다.


1 모든 코드 조각은 가볍게 테스트되었으며 예측할 수 없는 방식으로 중단될 수 있습니다.

관련 정보