Как LaTeX отображает \div?

Как LaTeX отображает \div?

Это дополнительный вопрос к этому:Как получить символ «деления на» с помощью \usepackage{physics}?В указанном вопросе автор вопроса спросил, как \undefпереопределить \div. Я хочу изобрести велосипед и увидетьточный"исходный код" то, что используется для рендеринга \divв первую очередь. Но где его найти?

Вот MNWE:

\documentclass{article}
\begin{document}
What is the \emph{exact} ``source code'' of
\ttfamily\textbackslash div\normalfont, and
where do I find it? Whatever it is, it renders
this: $\div$. I want to use it as a 
starting-point to \ttfamily\textbackslash
def \normalfont my own variant 
\ttfamily\textbackslash mydiv\normalfont.
\end{document}

Бонусный вопрос: как мне писать \ttfamily \textbackslash(MNWE выше выдает предупреждение о том, что «шрифты недоступны»).

решение1

Предположим, что TeX Live работает в системе Unix с bash, откройте окно терминала и введите

texdef -t latex div

и вернуться. Вы получите следующую информацию:

> texdef -t latex div

\div:
\mathchar"2204


\the\div:
8708

это на самом деле не так уж и интересно, возможно, дляне знаток. Та же информация будет выдана при выполнении \show\divинтерактивного сеанса или при вводе текста

\texttt{\meaning\div}

в документе и его наборе.

Однако, поскольку это \divосновной математический символ, его настоящее определение можно найти в fontmath.ltx; типе

grep '\\div\b' $(kpsewhich fontmath.ltx)

и терминал напечатает

\DeclareMathSymbol{\div}{\mathbin}{symbols}{"04}

что на самом деле является определением, которое делает ядро ​​LaTeX \div.

Вы найдете все основные определения математических символов, выполнив что-то вроде этого:

less $(kpsewhich fontmath.ltx)

решение2

В ОП говорится: «Я хочу изобрести велосипед...»

Хочу отметить, что для создания своей собственной версии \divне обязательно знать точную формулировку оригинала. В частности, код

\let\svdiv\div
\def\div{...\svdiv...}

позволит новому \divбыть определенным в терминах оригинала. Кроме того, в случае \div, как заметил Джозеф в комментарии, \show\divраскрывает определение как \mathchar"2204указывающее на то, что нет "кода"как таковойдля знака деления, а скорее просто указывает на слот глифа самого шрифта (слот 4 шрифта математических символов).

\documentclass{article}
\usepackage{stackengine}
\begin{document}
Here is the new \textbackslash div:
\let\svdiv\div
\def\div{\mathbin{\ensurestackMath{\stackinset{c}{.002ex}{c}{-.06ex}{\circ}{\svdiv}}}}
$A \div B$
\end{document}

введите описание изображения здесь

Если бы кто-то не хотел переопределять оригинал, а только дать определение \mydivв терминах оригинала, то это:

\documentclass{article}
\usepackage{stackengine}
\begin{document}
Here is \textbackslash mydiv:
\def\mydiv{\mathbin{\ensurestackMath{\stackinset{c}{.002ex}{c}{-.06ex}{\circ}{\div}}}}
$A \mydiv B$
\end{document}

Связанный контент