
Это дополнительный вопрос к этому:Как получить символ «деления на» с помощью \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}