Closed stone-zeng closed 9 months ago
字母表里的字符名是什么意思?没看懂这里
字母表里的字符名是什么意思?没看懂这里
某个字符对应的命令,参考 texdoc unimath-symbols
表格里的 Macro 一列。
\lbrace
对应 (
、\bot
对应 ⊥
。\mitvarepsilon
对应 𝜀
、\mscrD
对应 𝒟
。这些命令的命名有规律,m-<style>-<char name>
:m-it-varepsilon
、m-scr-D
。文章中表述的就是这种命名规律。\mathxxx/\symxxx
的影响。例如 \mscrD
、\mathfrak{\mscrD}
和 \symfrak{\mscrD}
都得到 script style "D"。某个字符对应的命令,参考
texdoc unimath-symbols
表格里的 Macro 一列。
之前,字符-命令的一一对应,主要针对非字母符号,例如
\lbrace
对应(
、\bot
对应⊥
。unicode-math 把这种对应关系拓展到了所有字母,例如
\mitvarepsilon
对应𝜀
、\mscrD
对应𝒟
。这些命令的命名有规律,m-<style>-<char name>
:m-it-varepsilon
、m-scr-D
。文章中表述的就是这种命名规律。注意 unicode-math 提供的字符命令是样式无关的,不受
\mathxxx/\symxxx
的影响。例如\mscrD
、\mathfrak{\mscrD}
和\symfrak{\mscrD}
都得到 script style "D"。
懂了,谢谢
@muzimuzhi
字母表里的字符名是什么意思?没看懂这里
某个字符对应的命令,参考
texdoc unimath-symbols
表格里的 Macro 一列。
- 之前,字符-命令的一一对应,主要针对非字母符号,例如
\lbrace
对应(
、\bot
对应⊥
。- unicode-math 把这种对应关系拓展到了所有字母,例如
\mitvarepsilon
对应𝜀
、\mscrD
对应𝒟
。这些命令的命名有规律,m-<style>-<char name>
:m-it-varepsilon
、m-scr-D
。文章中表述的就是这种命名规律。- 注意 unicode-math 提供的字符命令是样式无关的,不受
\mathxxx/\symxxx
的影响。例如\mscrD
、\mathfrak{\mscrD}
和\symfrak{\mscrD}
都得到 script style "D"。
我发现我没有办法使用 \mupbeta
得到直立的 beta, 但是通过 \upbeta
却可以, 这是什么原因呢, 已经在 TEX.SE 上提问: https://tex.stackexchange.com/questions/583177/i-cant-get-an-upright-greek-letter-with-mup-but-i-can-do-it-with-up-in
@syvshc 不要以「在介绍一般性内容的文章下评论」的方式提问。可以发到 https://github.com/CTeX-org/forum
我发现我没有办法使用
\mupbeta
得到直立的 beta, 但是通过\upbeta
却可以, 这是什么原因呢
现在 unicode-math
采用的策略是先做 normalization,然后根据语义(math-style
)来自动选择字母的样式。\mupbeta
和 \mitbeta
分别等价于字符 β
和 𝛽
,它们都会在 normalization 阶段被统一,与 \beta
(=\mitbeta
)一致(当然具体实现可能未必这么做,但结果是一样的,没看代码)。这与拉丁字母的通常处理是一致的:我们都是直接在代码里面输 a
,但得到的输出却是意大利体的 𝑎。
如果明确要使用直立或者意大利体的字母,则需要加上 \symup
、\symit
这样的标记,它们会忽略 math-style
的设置。
如果要绕开 normalization,可以使用 math-style=literal
,然后就会按照字面意思解析输入的代码,这时 \mupbeta
和 mitbeta
就会真的输出 β 和 𝛽,但同时 a
也会输出 a 而非 𝑎。
至于 \upbeta
和 \itbeta
,它们是为了兼容性和一致性而定义的,等价于 \symup{\beta}
和 \symit{\beta}
,根据上面的解释,不受 math-style
的影响。
注意 unicode-math 提供的字符命令是样式无关的,不受
\mathxxx/\symxxx
的影响。例如\mscrD
、\mathfrak{\mscrD}
和\symfrak{\mscrD}
都得到 script style "D"。
因此这段话目前看起来好像就不太正确了。
参见:unicode-math
文档 5.1 节(好像我就是把它翻译了一遍 233)
参见:
unicode-math
文档 5.1 节(好像我就是把它翻译了一遍 233)
了解了,谢谢曾老师
手写体和哥特体里面的字重写错了,写成了都是「正常」
手写体和哥特体里面的字重写错了,写成了都是「正常」
Fixed
请问一下,KpMath一共提供了五种风格的otf,但是安装后,在word中只显示一种:KpMath-regular。如果想要选取KpMath-sans,应当如何设置?
文档 unimath-symbols.pdf 中找到
这里的链接过时了,最新的是 http://mirrors.ctan.org/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf
,而不是 http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unimath-symbols.pdf
文档 unimath-symbols.pdf 中找到
这里的链接过时了,最新的是
http://mirrors.ctan.org/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf
,而不是http://mirrors.ctan.org/macros/latex/contrib/unicode-math/unimath-symbols.pdf
Fixed
博主你好,问一个偏离文意的问题,请问在您的博客 md 文件中是如何做到支持 $\XeTeX$
和 $\LuaTeX$
的?
博主你好,问一个偏离文意的问题,请问在您的博客 md 文件中是如何做到支持
$\XeTeX$
和$\LuaTeX$
的?
請問大佬,unicode-math
包對 Unicode 數學符號的支持是不是還不太全呢?比如 U+25A0 這類控制符似乎並不能正常使用,還是得用 LaTeX 風格的指令來控制。
謝謝!
比如 U+25A0 這類控制符似乎並不能正常使用,還是得用 LaTeX 風格的指令來控制。
具体是怎么用的?
% !TeX TS-program = xelatex
\documentclass{article}
\usepackage{unicode-math}
\begin{document}
content $■$ % U+25A0 Black Square
\end{document}
比如 U+25A0 這類控制符似乎並不能正常使用,還是得用 LaTeX 風格的指令來控制。
具体是怎么用的?
% !TeX TS-program = xelatex \documentclass{article} \usepackage{unicode-math} \begin{document} content $■$ % U+25A0 Black Square \end{document}
unicode plain text math 的用法見於 UTN #28,關於符號「■」是用於控制矩陣的,具體用法見於 UTN #28 §3.9,一個最簡單的範例是 ■(𝑎&𝑏@𝑐&𝑑)
,效果如:$\begin{array}{l}a&b\\c&d\end{array}
$ 。還有不少類似的控制符。
據測試,Microsoft Word 目前是支持該格式的。
@Bobo-alcazar 就我所知,
unicode-math
宏包支持的是「用 literal (unicode) character 代替 LaTeX 数学符号命令」,提高源文件的可读性。比如,可以直接输入 ■
代替命令 \mdlgblksquare
,直接输入 𝛼
代替 \alpha/\mitalpha
。整体依然只支持 LaTeX 风格的公式标记方式,比如分式用 \frac
,矩阵用 array
等环境。unicode-math
和 UnicodeMath 只是命名相似,在支持「用 literal (unicode) character 输入数学符号」上恰好有相同的支持/规定,但在公式标记方式上依然不同。unicode-math
没有实现 UTN #28 UnicodeMath。@Bobo-alcazar 就我所知,
* `unicode-math` 宏包支持的是「用 literal (unicode) character 代替 LaTeX 数学符号命令」,提高源文件的可读性。比如,可以直接输入 `■` 代替命令 `\mdlgblksquare`,直接输入 `𝛼` 代替 `\alpha/\mitalpha`。整体依然只支持 LaTeX 风格的公式标记方式,比如分式用 `\frac`,矩阵用 `array` 等环境。 * 你提到的 UTN #28 UnicodeMath, A Nearly Plain-Text Encoding of Mathematics 介绍的是另一种公式标记方式(encoding of mathematics),LaTeX 里不支持这种标记方式。 * `unicode-math` 和 UnicodeMath 只是命名相似,在支持「用 literal (unicode) character 输入数学符号」上恰好有相同的支持/规定,但在公式标记方式上依然不同。`unicode-math` 没有实现 UTN #28 UnicodeMath。
感謝回答,看來是我誤解了。之前我誤以爲 unicode-math
是以在 LaTeX 中實現 UnicodeMath 爲目標的。
unicode-math
的目标是提供调用和配置 opentype 数学字体的 LaTeX2e 用户接口。允许 literal unicode character 输入算是副产品。可以阅读 unicode-math
包文档的 abstract 部分了解更多。
https://stone-zeng.github.io/2020-05-02-use-opentype-fonts-iii/
之前两篇文章介绍了 LaTeX 中使用 fontspec 等宏包设置字体、选择样式的基本方式。但是,在这近万字的篇幅中,我们始终都回避了数学字体的问题。排版数学公式是 TeX 设计的初衷,也是 LaTeX 最为人所称道的功能。