ams 환경에서 이중선이 있는 분수

ams 환경에서 이중선이 있는 분수

이것이 중복 질문으로 간주되는지는 확실하지 않지만 구분 기호가 두 줄로 구성된 분수를 갖고 싶습니다. 나는 Tfrac 솔루션을 사용해 보았습니다.이중선이 있는 분수분모에 ams 환경을 사용하고 다음 출력을 얻을 때까지 잘 작동합니다.

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

의 사용법과 관련이 있다고 가정합니다 ooalign. 이 문제를 어떻게 해결해야 할지 온라인에서 찾아보려 했지만 많이 찾을 수 없는 것 같습니다.

내 코드는

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\usepackage{xcolor}% http://ctan.org/pkg/xcolor

\newcommand{\Tfrac}[2]{%
  \ooalign{%
    $\genfrac{}{}{1.2pt}1{#1}{#2}$\cr%
    $\color{white}\genfrac{}{}{.4pt}1{\phantom{#1}}{\phantom{#2}}$}%
}

$
\Tfrac
    {
        \phantom{test}
    }
    {
        \mathtt{B} \oplus \{\mathit{repeat}:\, \mathtt{B?[int]; S'}\}
        \, \leq \,
        \mathtt{B \oplus}
        \left\{
        \begin{aligned}
            & \mathit{notify} : \mathtt{B![bool]; end} \\
            & \mathit{repeat}: S_4 \\
            & \mathit{stop}: \mathtt{end} \\
        \end{aligned}
        \right\}
    }
$

편집: 의도된 용도를 보여주기 위해 이와 같은 것으로 끝내고 싶지만 대신 이중 줄로 된 분수를 사용합니다.

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

답변1

잘못된 도구를 사용하고 계신 것 같습니다. 어쨌든, 귀하가 링크한 질문에 대한 또 다른 답변에서 내 코드를 간단히 수정하면 됩니다.

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newlength{\doublefracgap}
\setlength{\doublefracgap}{0.75pt}
\DeclareRobustCommand{\doublefrac}[2]{%
  \mathinner{\mathpalette\doublefrac@{{#1}{#2}}}%
}
\newcommand{\doublefrac@}[2]{\doublefrac@@#1#2}
\newcommand{\doublefrac@@}[3]{%
  \ooalign{%
    \raisebox{\doublefracgap}{\normalbaselines$\m@th#1\frac{#2}{\phantom{#3}}$}\cr
    \raisebox{-\doublefracgap}{\normalbaselines$\m@th#1\frac{\phantom{#2}}{#3}$}\cr
  }%
}
\newcommand{\ddoublefrac}[2]{{\displaystyle\doublefrac{#1}{#2}}}
\newcommand{\tdoublefrac}[2]{{\textstyle\doublefrac{#1}{#2}}}
\makeatother

\begin{document}

\[
\doublefrac
    {
        \phantom{test}
    }
    {
        \mathtt{B} \oplus \{\mathit{repeat}:\, \mathtt{B?[int]; S'}\}
        \, \leq \,
        \mathtt{B} \oplus
        \left\{
        \begin{aligned}
            & \mathit{notify} : \mathtt{B![bool]; end} \\
            & \mathit{repeat}: S_4 \\
            & \mathit{stop}: \mathtt{end} \\
        \end{aligned}
        \right\}
    }
\]

\end{document}

차이점은 \normalbaselines선언에 있습니다.

나는 잘못된 간격을 생성하기 때문에 전자가 잘못되었기 때문에 로 \mathtt{B\oplus}수정 했습니다(그리고 around는 전혀 아무것도 하지 않습니다).\mathtt{B}\oplus\mathtt\oplus

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

관련 정보