mathcode

为什么 \catcode 更改的下划线在数学模式下也能起作用,即使 \mathcode 未设置为“8000?
mathcode

为什么 \catcode 更改的下划线在数学模式下也能起作用,即使 \mathcode 未设置为“8000?

有些事情让我感到困惑...考虑一下 %\begingroup %\catcode`\_=13 %\gdef_{\sb} %\endgroup \catcode`\_=11 \def\foo_bar{Foo bar} \foo_bar\ $a_b$ \bye 取消注释代码将产生 (可以将其包装在 LaTeX 文件中,结果是一样的。)令我困惑的是,我没有设置,\mathcode`\_="8000所以我也希望使用未注释的代码得到第一个结果。 我错过了什么? ...

Admin

表格环境中的减号
mathcode

表格环境中的减号

你好! :) 和 \usepackage{amsmath} \mathchardef\mhyphen="2D {\catcode`-=\active\gdef-{\mhyphen}} \AtBeginEnvironment{table}{\mathcode`-="8000} 我可以在表格环境中缩短减号。在我的表格中,我还在 $...$ 周围得到了一些公式。就在那里,我希望有一个“正常”的减号(而不是短的)。这可能吗?(总结一下:表格中的减号很短,但每当我在 $...$ 中写入内容时,表格中的减号就会更长(“正常”))。如果有人能帮助我,我将不胜感激!:) ...

Admin

数学字符 \prime、活动素数 (')、*、\circ 在 xelatex 中打印双上标位置
mathcode

数学字符 \prime、活动素数 (')、*、\circ 在 xelatex 中打印双上标位置

我正在尝试重新定义 otf 字体中的数学字符STIX Two Math,我成功地xelatex通过\Umathchardef命令重新定义了所有字符。 我面临的问题是\prime,活动素数(')和符号,这些字符位置被打印为双上标位置,因为字体只有上标位置*。\circ 如何重新定义字符以获得实际输出 [\prime和 的正常上标'(应该产生与 \prime 相同的输出)和*, \circ] 提前致谢 梅威瑟: \documentclass{book} \usepackage{fontspec} \newfontface\StixTwoMath{STI...

Admin

如何自动将“.”更改为 \cdot
mathcode

如何自动将“.”更改为 \cdot

根据 David Carlisle 的回答,自动使用 \cdot 我们可以输入 *,TeX 会将 * 转换为\cdot命令。我如何将 * 转换为“。”? \documentclass{article} \mathcode`\*="8000 {\catcode`\*\active\gdef*{\cdot}} \begin{document} $e=m*c*c$ is equiliant to $e=m\cdot c\cdot c$. I want to type $e=m.c.c$. \end{document} 请帮我! ...

Admin

将字母和符号的 \mathcode 设置为“8000 的后果是什么?
mathcode

将字母和符号的 \mathcode 设置为“8000 的后果是什么?

我知道这不是你应该做的事情。但为了好玩,我尝试将所有\mathcode字母的改为"8000并将它们定义为命令。然后每个这样的命令将对应于具有该符号的变量。下面,我尝试对字母 执行此操作j,尽管部分失败了。同样,我想重新定义+、-和所有其他常见的数学符号。 到目前为止,一切似乎都或多或少地像以前一样运行。命令名称、环境名称和包含的键名称j似乎运行良好。我有四个问题: 如果你这样做,你会破坏 LaTeX 的哪些功能全部字母?如果您对诸如+和之类的常见符号执行此操作会怎样-? 我如何修复下面的 MWE 以便j简单地打印j(使用\oldletter导致循环)? 我...

Admin

Epigrafica 字体和 mathastext 减号不兼容
mathcode

Epigrafica 字体和 mathastext 减号不兼容

我喜欢 Optima 字体的外观,它适合我的图形符号,其中经常包含数学符号。我也更喜欢 pdflatex。因此,我发现 Epigrafica 字体是一个不错的 Optima 克隆,它可以在 pdflatex 中运行。但是,本机epigrafica软件包会切换到pxfonts以提供数学支持。 由于我更喜欢​​使用原生epigrafica斜体来表示我的图形数学符号,因此我选择将包与所选选项结合使用mathastext。除了一件事之外,一切都[italic]运行良好:数学中的减号-显示为非斜体左括号。{其他运算符似乎可以很好地翻译,例如+,,,,等。只有似乎受到...

Admin

获取活跃角色列表
mathcode

获取活跃角色列表

有些字符在纯 TeX 中是活动的(例如~),有些软件包(例如babel使其他字符活动")是活动的。有没有办法从 TeX 中获取所有活动字符的列表?或者,是否有一个参考列表列出了哪些字符通过常用软件包活动? 类似的字符列表\mathcode "8000也很好。 ...

Admin

数学模式下括号作为普通符号
mathcode

数学模式下括号作为普通符号

我想在数学模式下使用 tt 字体书写,一切正常,但括号除外。下一个代码 $ \mathtt{[x + y]} $ 得到 但我想得到 。 可以通过一些附加命令来完成 $ \mathtt{\texttt{[}x + y\texttt{]}} $ 有没有什么方法不加任何添加就能得到理想的结果? 我尝试为活动符号写定义 \def\lbr{[} \begingroup \catcode`[=\active \gdef[{\texttt{[}} \endgroup \AtBeginDocument{\mathcode`[="8000} 但看...

Admin

如何使活动字符在数学模式和文本模式下发挥不同的作用?
mathcode

如何使活动字符在数学模式和文本模式下发挥不同的作用?

仍在学习活动字符、猫码、数学码等。 我知道如何让 *hello* 在文本模式下显示粗体,并且 $X$ 在数学模式下生成粗体 $x$。我还知道如何让 *{hello} 在文本模式下生成粗体,以及让 $*x$ 在数学模式下生成粗体 $x$。 我不知道如何让 *hello* 在文本模式下显示粗体,以及如何让 $*x$ 在数学模式下显示粗体 $x$。(请注意星号的数量。) (今天的点赞已经用完了,但明天会奖励好的答案) 我可以这样做: \documentclass{article} \usepackage{amsmath} \usepackage{b...

Admin

如何使@变成粗体数学符号
mathcode

如何使@变成粗体数学符号

我想改变@数学模式中的含义,使其后面的对象变为粗体,例如$@x$应该产生一个粗体数学 x,$@\alpha$应该产生一个粗体 alpha,并且$@{\hat x^2}$应该使花括号内的所有内容变为粗体。 以下代码不起作用;我不明白。 \documentclass{article} \usepackage{amsmath} \usepackage{bm} \begingroup \lccode`\~=`@ \lowercase{\endgroup \def~#1~{\boldsymbol{#1}}% }% \mathcode`@="8000 ...

Admin

数学公式中逗号作为字母,分号作为运算符
mathcode

数学公式中逗号作为字母,分号作为运算符

文档里面source2e.pdf有以下两行 \DeclareMathSymbol{,}{\mathpunct}{letters}{"3B} \DeclareMathSymbol{;}{\mathpunct}{operators}{"3B} 它对这两个标点符号进行不同的处理:逗号作为字母,而分号作为运算符。 我知道上面的代码会给mathcode这两个标点符号分配不同的 \mathcode`\,="613B \mathcode`\;="603B 因此它们将以不同的字体排版(默认情况下)cmmi。cmr TeX 对这两个标点符号区别对待的原因是什么...

Admin

ConTeXt 中的 \ifnum 编译错误
mathcode

ConTeXt 中的 \ifnum 编译错误

为什么下面的代码会出现以下错误? 代码: \begingroup \catcode`\"=12 \gdef\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A% \ifnum\mathcode`\-=45 \else \mathchardef\std@minus\mathcode`\-\relax \fi \mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax} \endgroup \define...

Admin

我怎样才能更快地绘制条形和星形?
mathcode

我怎样才能更快地绘制条形和星形?

我想使用条形和星号方法列出方程的非负解的数量x + y + z = 4。我尝试过 \documentclass{article} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{fourier} \begin{document} \begin{tabular}{|c|c|} \hline $(0, 0, 4)$ & $\big|\big|\star \star \star\star $ \\ \hline $(0, 1, 3)$ &...

Admin

fancyvrb 错误,带有数学转义和素数 (')
mathcode

fancyvrb 错误,带有数学转义和素数 (')

我最近注意到一些fancyvrb数学转义失败的情况。这可以正常工作: \documentclass{article} \usepackage{fancyvrb} \begin{document} \begin{Verbatim}[commandchars=\\\{\},codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8}] $f^\prime$ \end{Verbatim} \end{document} 但用这个代替 \begin{Verbatim}[commandchars=\\\{\},codes={\c...

Admin

在数学模式下使 f 处于活动状态
mathcode

在数学模式下使 f 处于活动状态

我正在尝试纠正 mathspec 中的间距问题。我希望在数学模式下在字母 f 后添加一个额外的空格,但前提是字母 f 后面没有下标。我不想每次都手动执行此操作,所以我尝试了以下代码: \makeatletter \mathcode`f="8000 \DeclareMathSymbol{\f}{\mathalpha}{letters}{`f} \newcommand{\mathf}{\@ifnextchar_{\f}{\f \,}} \begingroup \lccode`\~=`\f \lowercase{\gdef~{\ifnum\the...

Admin