unicode-math 套件:預設將數學模式下的字母對應到正常的 ASCII 範圍

unicode-math 套件:預設將數學模式下的字母對應到正常的 ASCII 範圍

對於 XeLaTeX,我使用 fontspec 和 unicode-math 來產生 pdf,無需其他選項,並且在大多數情況下按預期工作。然而,在某些情況下(在這個問題的末尾指定)我希望數學模式下的(拉丁)字母直接映射到其正常的ASCII 對應項,並僅使用正確的字體(斜體、粗體等... )來產生正確的視覺輸出作為預設行為。

對於特定命令,我可以實現這一點,例如$\mathit{x}$ 可以使用以下程式碼正確執行此操作(我假設),但$x$ 仍然將來源中的ASCII 字母x 映射到輸出中的U+ 1D465 代碼點。

\documentclass{article}

\usepackage{fontspec}       
\usepackage{unicode-math}
\unimathsetup{
    mathrm=text,
    mathit=text,
    mathsf=text,
    mathbf=text,
    mathtt=text,
    math-style=ISO,
}

\begin{document}
$\mathit{x}$ <-- maps to ASCII x

$x$ <-- still maps to U+1D465 
\end{document}

那麼,如何讓 unicode-math 預設在輸出中使用 ASCII 字母?

原因是:

1:視覺外觀大致一致,對於某些字體,普通斜體和數學斜體字體彼此之間存在顯著差異。

2:(最重要的)我試著從一些文件片段產生 svgs,先產生 pdf(透過導入片段的模板),然後使用 inkscape 轉換為 svg。到目前為止,這已經產生了最好的結果,但 inkscape 無法正確渲染數學字母,而且我還擔心網路相容性。

相關內容