LaTeX は \div をどのようにレンダリングしますか?

LaTeX は \div をどのようにレンダリングしますか?

これは次の質問に対するフォローアップの質問です:\usepackage{physics} で「除算」記号を取得するにはどうすればよいですか?参照された質問では、OPは\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

UnixシステムでTeX Liveがインストールされていると仮定し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

OP は「車輪を再発明したい...」と述べています。

の独自のバージョンを作るために\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}

関連情報