새로운 악센트 표기법을 만드는 방법

새로운 악센트 표기법을 만드는 방법

내가 직접 정의한 작업을 표시하려면 새로운 액센트 표기법을 사용해야 합니다. 왼쪽/오른쪽 끝에 두 개의 점이 있는 막대입니다.

\documentclass{article}
\begin{document}
\[myaccents{A}\]
\end{document}

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

답변1

\documentclass{article}
\usepackage{amsmath,xcolor}
\begin{document}
\[\overset{\textcolor{red}{\cdot}\!-\!\textcolor{red}{\cdot}}{A}\]
\end{document}

또는 다음 \myaccent명령을 사용하여 단순화합니다.

\documentclass{article}
\usepackage{amsmath,xcolor}

\def\myaccent#1{\overset{\textcolor{red}{\cdot}\!-\!\textcolor{red}{\cdot}}{#1}}

\begin{document}
\[\myaccent{A}\]
\end{document}

MWE

막대의 수직 거리는 \raisebox. 또한 막대가 이탤릭체로 되어 있기 때문에 작은 막대와 직립 문자를 사용하면 더 잘 보일 수 있습니다.것 같다중앙에 있지 않습니다. 예:

\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\def\myaccent#1{\overset{%
\hskip0pt   
\raisebox{-.2ex}[0ex][0ex]{%   
$_{\textcolor{red}{\cdot}\text{-}\textcolor{red}{\cdot}}$%
}}{\text{#1}}}
\begin{document}
\[\myaccent{t} \neq \myaccent{\i} \neq \myaccent{m} \neq \myaccent{e} \]
\[\myaccent{T} = \myaccent{I} = \myaccent{M} = \myaccent{E} \]
\end{document}

\begin{document}
\[\myaccent{t} \myaccent{m} \myaccent{M}  \myaccent{g} \]
\end{document}

MWE

막대를 문자 길이만큼 길게 만들려면 \widthtof{}package 에서 사용할 수 있습니다 calc. 이 예에서는 2pt점으로 인해 이 규칙을 더 짧게 만들었습니다 . 좀 더 짧아야 할 수도 있지만 \i. 원하는 대로 조정하세요.

\documentclass{article}
\usepackage{xcolor,calc}
\usepackage{amsmath}
\def\myaccent#1{\overset{
\hskip0pt % add 2 or 3 pt if you change \text{#1} to #1 to use italics 
\raisebox{-.3ex}[0ex][0ex]{%   
$_{\textcolor{red}{\cdot}\rule[.35ex]{\widthof{#1}-2pt}{.4pt}\textcolor{red}{\cdot}}$%
}}{\text{#1}}}
\begin{document}
\[\myaccent{t} \neq \myaccent{\i} \neq \myaccent{m} \neq \myaccent{e} \]
\[\myaccent{T} = \myaccent{I} = \myaccent{M} = \myaccent{E} \]
\end{document}

MWE3

답변2

질문을 이해했다면 악센트를 수학 변수 위에 배치해야 합니다. 일반적으로 이탤릭체(수학 이탤릭체)로 표시됩니다. 기본 \mathaccent요소는 베이스와 사이에 커른을 사용하여 액센트를 수평으로 배치합니다 \skewchar. 매크로를 사용하여 이 동작을 시뮬레이션할 수 있습니다. 그러면 이탤릭체 변수보다 악센트가 더 잘 보일 것입니다.

\mathchardef\myskewchar="717F 

\def\myaccent#1{\vbox{\offinterlineskip \lineskip=-.066em
   \setbox0=\hbox{$#1\myskewchar$}\dimen0=\wd0
   \setbox0=\hbox{$#1\kern0pt\myskewchar$}\advance\dimen0 by-\wd0
   \setbox0=\hbox{$#1$}\dimen1=\wd0 \advance\dimen1 by-.3em
                       \ifdim\dimen1<.2em \dimen1=.2em \fi
   \ialign{\hfil##\hfil\cr \hbox to0pt{\hss\kern2\dimen0
       ${\cdot}\hbox to\dimen1{\leaders\vrule height .28em depth-.23em\hfil}{\cdot}$%
       \hss}\cr$#1$\cr}}}

$\myaccent A \dot A + \myaccent x + \dot x + \myaccent t + \myaccent {xx}$.

Skewchar02

베이스 너비에 따라 액센트 너비를 변경하기 위해 코드를 편집했습니다.

연습문제로 남겨둔 세 가지 문제가 있습니다.

  • 점의 색상을 추가하려면 (사용되는 다른 매크로인 OPmac, xcolor.sty 등에 따라 다릅니다.)
  • 아래 첨자와 아래 첨자로 작업하기 위해 매크로를 복잡하게 만드는 것, 즉 \mathchoice또는 를 사용하는 것입니다 \mathpalette.
  • \accent텍스트 모드에서 이탤릭체 문자 위의 기본 동작을 에뮬레이트하려고 합니다 .

관련 정보