
對於 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 無法正確渲染數學字母,而且我還擔心網路相容性。