在哪里可以找到如何为不同的字体编写符号?

在哪里可以找到如何为不同的字体编写符号?

我知道 cmr10、cmex10 和 cmsy10 等字体。现在我想知道如何使用 TeX 在字符表中生成符号,例如http://www.math.union.edu/~dpvc/jsmath/symbols/cmex10.html

互联网上是否有一本词典,其中包含如何根据字体对字符表中的每个符号进行 TeX 处理?(例如,给定'\0x41'和字体 cmr10,我想要获得'A',给定'\0x00'和 cmr10,我想要获得'\textGamma')。

PS 这个问题的动机是我尝试从 .tex 文件中提取文本。我最终决定先将 .tex 文件转换为 DVI 文件,然后使用它dviasm来提取文本,因为这样就无需构建另一个 TeX 引擎。

答案1

“综合 LaTeX 符号列表”的附件是“ rawtables”pdf 文件,其中包含该列表涵盖的所有字体的字体表,按字母顺序排列。字体表排列显示了呈现给 TeX 的字体中的位置;它不通过 Unicode ID 识别字形。

该系列在 CTAN 上:http://mirrors.ctan.org/info/symbols/comprehensive 并且 pdf 列表有 letter 尺寸或 a4 尺寸。

尽管标题中带有“LaTeX”,但这些字体也可以与纯 TeX 一起使用。

答案2

当用户指定 TeX 时(对于 Plain TeX,请参阅补充),这些表格最容易通过 LaTeX 获得,格式如 OP 所述http://www.math.union.edu/~dpvc/jsmath/symbols/cmex10.html

\documentclass{article}
\usepackage{fonttable}
\begin{document}
\fonttable{cmex10}
\end{document}

在此处输入图片描述

可以通过 交替获取相同的字体表\xfonttable{OMX}{cmex}{m}{n}

为了回答 OP 关于 cmr10 中字母的具体问题A

\documentclass{article}
\usepackage{fonttable}
\begin{document}
\fonttable{cmr10}
\end{document}

在此处输入图片描述

但请记住,对于给定的编码方案,即使不打印字体表,人们也知道在哪里可以找到各种字形,特别是对于 ASCII 中可用的标准字形。


补充

对于 Plain TeX 替代方案(fontchart.tex,位于https://ctan.org/pkg/fontchart?lang=en),以下是 cmr10 的结果:

在此处输入图片描述

在此处输入图片描述

答案3

LaTeX 字体编码包含每个常用的旧式 LaTeX 编码的字体表。现代工具链fontspec仅使用 Unicode 编码(别名为 TU)。

如果您希望能够复制粘贴或以其他方式自动转换从 LaTeX 源编译的 PDF 文档中的文本,最好的选择是使用unicode-math。然后,您的所有字形都已使用 Unicode 编码。

使用非标准编码(如U)的字体应附带文档。例如,masfonts手册在附录中附带了所有字体的表格。

答案4

您可以查看 tex4ht 文件。hf-fonts 中有很多插槽位置到 unicode 的映射。例如\texmf-dist\tex4ht\ht-fonts\unicode\cm\cmex.htf包含如下映射:

'∘' ''  112
'∘' ''  113
'∘' ''  114
'∘' ''  115
'∘' ''  116
'│' ''  117
'┌' ''  118
'║' ''  119
'↑' ''  120
'↓' ''  121

我认为,插槽位置和(la)tex 命令之间的映射更难选择和维护,因为每个包/文档都可以更改或添加命令。

相关内容