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

假设 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}

相关内容