如何获取tex引擎转换后的字符的unicode?

如何获取tex引擎转换后的字符的unicode?

质量保证:

  • 有没有办法按行号顺序记录每行源代码呈现的 Unicode 字符?
  • 不管是否以日志形式输出,有没有什么办法可以获取每个公式对应的unicode集?

所需示例:

  • 源代码
\documentclass{article}
\begin{document}
$x^{4}$ \\
$x\sp{4}$ \\
$x_{4}$
\end{document}
  • 日志格式
x^{4}\\
Unicode of  x: U+0078\\ % x
Unicode of  4: U+2074\\ % 4 is superscript

x\sp{4}\\
Unicode of  x: U+0078\\ % x
Unicode of  4: U+2074\\ % 4 is superscript

x_{4}\\
Unicode of  x: U+0078\\ % x
Unicode of  4: U+2084\\ % 4 is subscript

答案1

printf您可以使用 Pandoc 将 LaTeX 代码转换为纯文本,然后使用终端等检查输出。请注意,LaTeX 生成的所有内容并非都能轻松转换为单个字符,因此这并不总是有效。

此外,Pandoc 纯文本过滤器无法处理所有任意的 LaTeX 代码,即使它有效,例如\sp未实现,因此您需要单独提供定义。

梅威瑟:

\documentclass{article}
\providecommand{\sp}[1]{^{#1}}
\begin{document}
$x^{4}$ \\
$x\sp{4}$ \\
$x_{4}$
\end{document}

Pandoc 调用:

pandoc -f latex -t plain yourfile.tex

输出:

x⁴
x⁴
x₄

显示代码点(来自https://superuser.com/a/1704946,如果你不能使用 Linux 终端,另请参阅该问题以了解使用例如 Python 或 Perl 等各种替代方案):

pandoc -f latex -t plain yourfile.tex |while read  -n 1 x; do printf '%2s -> %X\n' "$x" "'$x"; done

输出:

 x -> 78
⁴ -> 2074
   -> 0
 x -> 78
⁴ -> 2074
   -> 0
 x -> 78
₄ -> 2084
   -> 0

相关内容