文字模式下黑板粗體字型?

文字模式下黑板粗體字型?

有沒有\mathbb可以在數學模式之外使用的模擬?

我的具體問題是我有一個部分標題,其中包括\mathbb(當然在數學模式下),但我正在使用hyperref,所以每次編譯時都會收到警告。我想要一些可以放入的文字替代方案,\texorpdfstring這樣我就不會收到警告,但目錄中的輸出仍然看起來與部分標題中出現的數學類似。

答案1

在所有三個編譯器(pdfLaTeX、XeLaTeX、LuaLaTeX)中,您可以將 Unicode 字元放入\texorpdfstring.對於 pdfLaTeX 這需要\usepackage[unicode]{hyperref}.

微量元素:

\documentclass{article}
\usepackage{amssymb}
\usepackage[unicode]{hyperref}
\begin{document}
\section{\texorpdfstring%
{The difference between $\mathbb{R}$, $\mathbb{N}$ and $\mathbb{Q}$}%
{The difference between ℝ, ℕ, and ℚ}}
\end{document}

結果:

在此輸入影像描述

這比僅使用 稍微穩健一些\section{The difference between ℝ, ℕ, and ℚ},因為這要求當前文檔字體包含字元(而不是從 中獲取字元amssymb),但情況並非總是如此。此外,此方法僅適用於 XeLaTeX 和 LuaLaTeX。唯一\texorpdfstring的要求是你的pdf閱讀器介面中使用的字體包含這些字符,這種情況更有可能發生。

答案2

細微差別:

擴展有關使用 unicode 文字的評論。

事實證明,ℝℕℚ位於 Letterlike Symbols unicode 區塊中,這反過來意味著它們可以被文字字體覆蓋,事實上,對於 Noto Serif 字體(作為範例),它們確實如此。

為了讓它們出現在用於數學模式的字體中(例如 Fira Math),可以按照通常的方式將用於數學模式的字體重新聲明為另一種文字字體fontspec

數學字體作為文本

微量元素

\documentclass{article}
%\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{unicode-math}
\setmainfont{Noto Serif}
\setmathfont{Fira Math}[Colour=blue]
\newfontface\ftextasmath{Fira Math}[Colour=red]
\usepackage[unicode]{hyperref}
\begin{document}
\section{\texorpdfstring%
{The difference between $\mathbb{R}$, $\mathbb{N}$ and $\mathbb{Q}$}%
{The difference between ℝ, ℕ, and ℚ}}

Comparison

Text mode:

ℝ, ℕ, and ℚ
\bigskip

Math mode:

$\mathbb{R}$, $\mathbb{N}$ and $\mathbb{Q}$
\bigskip

Unicode-math macros (text mode):

\BbbR \BbbN \BbbQ  x + y = z
\bigskip

Unicode-math macros (math mode):

$\BbbR \BbbN \BbbQ x + y = z$
\bigskip

Fira Math as text:

\ftextasmath{ℝ ℕ ℚ}

\end{document}

相關內容