
Esta é uma pergunta complementar a esta:Como posso obter um símbolo de “dividir por” com \usepackage{physics}?Na pergunta referenciada, o OP perguntou como \undef
redefinir o arquivo \div
. Quero reinventar a roda e ver oexato"código-fonte" o que é usado para renderizar \div
em primeiro lugar. Mas onde posso encontrá-lo?
Aqui está um 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}
Pergunta bônus: como escrevo \ttfamily \textbackslash
(o MNWE acima me avisa sobre "formatos de fonte não disponíveis").
Responder1
Supondo que TeX Live em um sistema Unix com bash
, abra uma janela de terminal e digite
texdef -t latex div
e retorno. Você obterá as seguintes informações:
> texdef -t latex div
\div:
\mathchar"2204
\the\div:
8708
isso não é realmente tão interessante, talvez, para onão conhecedores. A mesma informação seria emitida fazendo \show\div
uma sessão interativa ou digitando
\texttt{\meaning\div}
em um documento e digitá-lo.
No entanto, sendo \div
um símbolo matemático central, a definição real pode ser encontrada em fontmath.ltx
; tipo
grep '\\div\b' $(kpsewhich fontmath.ltx)
e o terminal irá imprimir
\DeclareMathSymbol{\div}{\mathbin}{symbols}{"04}
que é de fato a definição que o kernel do LaTeX faz \div
.
Você encontra todas as principais definições de símbolos matemáticos fazendo algo como
less $(kpsewhich fontmath.ltx)
Responder2
O OP afirma que “Quero reinventar a roda…”
Eu observaria que, para fazer sua versão pessoal de \div
, não é necessário necessariamente saber a formulação exata do original. Em particular, o código
\let\svdiv\div
\def\div{...\svdiv...}
permitirá que um novo \div
seja definido em termos do original. Além disso, no caso de \div
, como Joseph observou em um comentário, \show\div
revela a definição como \mathchar"2204
uma indicação de que não há “código”por si sópara o sinal de divisão, mas apenas aponta para um slot de glifo da própria fonte (slot 4 da fonte do símbolo matemático).
\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}
Se não se deseja redefinir o original, mas apenas definir \mydiv
em termos do original, então isto:
\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}