Есть ли какой-либо аналог, \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.
Оказывается, ℝℕℚ находятся в блоке Unicode Letterlike Symbols, что, в свою очередь, означает, что они могут быть скрыты текстовым шрифтом, и действительно, для шрифта 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}