Мне нужно использовать новую нотацию акцентов для обозначения операции, которую я определяю. Это полоса с двумя точками на левом/правом конце.
\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}
Вертикальное расстояние полосы можно настроить, добавив \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}
Чтобы сделать полосу такой же длины, как и символ, можно использовать \widthtof{}
из пакета 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}
решение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}$.
Я отредактировал свой код, чтобы изменить ширину акцента в зависимости от ширины основания.
В качестве упражнения оставлены три задачи:
- для добавления цвета точек (это зависит от другого используемого макроса, OPmac, xcolor.sty и т. д.)
- усложнить макрос, чтобы он работал в подстрочном и подподстрочном режимах, т. е. использовать
\mathchoice
или\mathpalette
. - попытаться эмулировать
\accent
примитивное поведение над курсивными буквами в текстовом режиме.