코드만으로 이와 같은 새로운 기호를 만드는 방법은 무엇입니까?

코드만으로 이와 같은 새로운 기호를 만드는 방법은 무엇입니까?

새로운 기호가 필요하지만 어떻게 만드는지 모르겠습니다. 나는 이러한 기호가 이미 LaTeX 패키지에 있는지 알아보려고 했지만 그렇지 않았습니다. 그래서 마지막으로 여기에 묻습니다.

나는 TeX을 사용하는 초보자이기 때문에 모든 답변은 나에게 매우 도움이 될 것입니다.

내가 원하는 명령은 수학 모드에서 사용됩니다. 세 개의 명령을 원하지만 그 중 두 개는 다른 명령의 변형일 뿐입니다 \lrod{ }. 이름은 왼손으로 잡는 수맥찾기 도구 'L-rod'에서 유래되었습니다.

  1. \lrod{ }. 왼쪽 끝이 수직으로 아래로 구부러진 바입니다. 아래 이미지를 참조하세요.
  2. \rrod{ }. 의 오른쪽 버전입니다 \lrod{ }.
  3. \stapler{ }. 의 양면 버전입니다 \lrod{ }.

\lrod{ }인수로 문자 또는 문자 문자열을 사용합니다. 그런 다음 그 위에 적절한 수평 길이의 '왼쪽 L 막대'로 덮인 문자(들)의 문자열을 제공합니다. 즉, 내가 입력하면

$\lrod{a}$, $\lrod{abc}$ and $\lrod{a \vphantom b},

그러면 다음을 얻어야 합니다. /lrod의 예

보시다시피, 상단 높이는 글자마다 달라야 합니다. 하지만 을 사용하면 \vphantom문제를 고칠 수 있을 것입니다.

\lrod또한 긴 세로 부분과 짧은 가로 부분 의 각 부분 길이를 직접 다듬을 수 있었으면 좋겠습니다 . 따라서 PDF 이미지를 사용하여 답변하지 말고 코드만 사용하여 답변해 주시기 바랍니다.

및 명령 \rrod{ }\stapler{ }비슷한 방식으로 설명할 수 있습니다. 다음은 예시 이미지입니다.

기호-예제

보시다시피, 세 기호의 상단 높이와 너비는 동일한 문자에 대해 동일해야 합니다.

마지막으로 기호의 너비는 아래 문자보다 약간 좁아야 다음과 같이 입력할 때 기호 사이에 간격이 허용됩니다.

$\lrod{b}\rrod{b}\stapler{b}$

정말 감사합니다.

답변1

귀하는 기본적 으로 에 의해 정의된 \stapler매크로입니다 . 패키지를 사용하면 규칙의 너비를 조정할 수도 있습니다. 기본 너비가 다소 크므로 작게 만듭니다. 나는 다음과 같은 정의를 정의 하고 유사하게 정의합니다.\overbracketmathtoolslrod\rrod\overbracket

\documentclass{article}

\usepackage{mathtools}

\newcommand*{\stapler}[1]{{\overbracket[.4pt][.4\fontdimen5\textfont2]{#1}}}

\makeatletter
\newcommand*{\lrod}[1]{%
   \vbox{\m@th\ialign{##\crcr
          \downbracketend{.4pt}{.4\fontdimen5\textfont2}%
          \leaders \vrule \@height .4pt \@depth \z@ \hfil
        \crcr
          \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
          $\displaystyle{#1}$%
        \crcr}}%
}

\newcommand*{\rrod}[1]{%
   \vbox{\m@th\ialign{##\crcr
          \leaders \vrule \@height .4pt \@depth \z@ \hfil
          \downbracketend{.4pt}{.4\fontdimen5\textfont2}%
        \crcr
          \noalign{\kern .2\fontdimen5\textfont2 \nointerlineskip}%
          $\displaystyle{#1}$%
        \crcr}}%
}

\makeatother

\begin{document}

$\lrod{a}$
$\lrod{\vphantom{b}a}$
$\lrod{b}$
$\lrod{ab}$
$\lrod{abc}$

\medskip
$\rrod{a}$
$\rrod{\vphantom{b}a}$
$\rrod{b}$
$\rrod{ab}$
$\rrod{abc}$

\medskip
$\stapler{a}$
$\stapler{\vphantom{b}a}$
$\stapler{b}$
$\stapler{ab}$
$\stapler{abc}$

\end{document}

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

\fontdimen5\textfont2코드 에서 앞의 매개변수를 채택했습니다 mathtools. 필요에 맞게 조정할 수 있습니다.

답변2

다음은 (inside of 아래 첨자 및 위 첨자 허용)을 \rule사용하여 인수의 크기를 측정한 후 LaTeX를 사용하여 규칙을 그려 기호를 제공합니다 .\sbox\mathpalette

\documentclass[]{article}

\makeatletter
\newcommand*\stapler@ht{.2ex} % height of the ticks on both ends
\newcommand*\stapler@wd{.1ex} % thickness of the rules
\newcommand*\stapler@dv{.2ex} % padding vertically between argument and symbol
\newcommand*\stapler@di{.2ex} % padding applied on either end of the argument
\newcommand*\stapler@do{.2ex} % padding applied on either end around the symbol
\newsavebox\stapler@box
\newif\ifstapler@left
\newif\ifstapler@right
\newcommand*\@stapler[2]
  {%
    \kern\stapler@do\relax
    \sbox\stapler@box{$#1\kern\stapler@di\relax#2\kern\stapler@di\relax$}%
    \ifstapler@left
      \rule
        [\dimexpr\ht\stapler@box+\stapler@dv]
        {\stapler@wd}
        {\dimexpr\stapler@ht+\stapler@wd/2}%
      \kern-\stapler@wd
    \fi
    \rlap
      {%
        \rule
          [\dimexpr\ht\stapler@box+\stapler@dv+\stapler@ht-\stapler@wd/2]
          {\wd\stapler@box}
          {\stapler@wd}%
      }%
    \usebox\stapler@box
    \ifstapler@right
      \kern-\stapler@wd
      \rule
        [\dimexpr\ht\stapler@box+\stapler@dv]
        {\stapler@wd}
        {\dimexpr\stapler@ht+\stapler@wd/2}%
    \fi
    \kern\stapler@do\relax
  }
\newcommand*\stapler{\stapler@lefttrue\stapler@righttrue\mathpalette\@stapler}
\newcommand*\lrod{\stapler@lefttrue\stapler@rightfalse\mathpalette\@stapler}
\newcommand*\rrod{\stapler@leftfalse\stapler@righttrue\mathpalette\@stapler}
\makeatother

\begin{document}
$\lrod{a}\rrod{b}$

$\lrod{abc}\lrod{\vphantom{abc}a}$

$\lrod{b}\stapler{b}\rrod{b}$

$E^{\lrod{b}\stapler{b}\rrod{b}^{\lrod{a}\stapler{a}\rrod{a}}}$
\end{document}

매개변수 정의를 변경하여 모양을 사용자 정의할 수 있습니다.

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

관련 정보