我在我的文档中使用该concmath
包,但是没有\mathbb{}
与该字体包的命令链接的黑板粗体字体。我已经在其他地方问过这个问题,并得到了以下解决方案:
\makeatletter
\def\afterfi#1#2\fi{\fi#1}
\def\map#1#2{\mapA{}#1#2\@nnil}
\def\mapA#1#2#3{\ifx\@nnil#3\empty \afterfi{#1}\else \afterfi {\mapA{#1#2{#3}}#2}\fi}
\protected\def\mathbb#1{\leavevmode\textup{\map\mathbbA{#1}}}
\def\mathbbA#1{\setbox\z@\hbox{#1}\copy\z@\kern-\wd\z@ \kern.13em\box\z@}
\makeatother
$u=\{u(t)\}_{t\in\mathbb R^2} \quad \mathbb{NZQIRCOSABC}$
这会稍微移动字母以产生黑板字体,但对于某些字母来说这看起来很糟糕。
有没有办法为混凝土生成外观不错的黑板粗体字体?
提前感谢您的任何建议。
答案1
另一种方法是使用ccfonts
软件包,目前仍在更新中。该concmath
软件包来自上个世纪。
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{ccfonts}
加载所有标准数学字母的 AMS 或 Concrete 版本。
否则,你可以从中挑选你喜欢的黑板字体mathalpha
ccfonts
并在或之后加载concmath
。
请注意,除非您花钱购买 Type 1 格式的 Micropress Concrete Math 字体,否则这两种方法都会为您提供像素化的 METAFONT 数学字体。不过,您不需要这样做:要么您在授权该字体的期刊上发表文章,要么您可以自由使用支持 OpenType 的现代 TeX 引擎。
在 LuaLaTeX 或 XeLaTeX 中,您可以尝试将 Concrete 与 slab serif 字体 GFS Neohellenic 中的数学符号配对:
\documentclass{article}
\usepackage[math-style=upright]{unicode-math}
\usepackage[paperwidth=10cm]{geometry} % Format a MWE for TeX.SX
\setmainfont{CMU Concrete}[
Ligatures=Common,
UprightFont=cmunorm.otf,
BoldFont=cmunobx.otf,
ItalicFont=cmunoti.otf,
BoldItalicFont=cmunobi.otf ]
\setmathfont{GFS Neohellenic Math}[Scale=MatchLowercase]
\setmathfont{cmunoti.otf}[range=it]
\setmathfont{cmunorm.otf}[range=up]
\begin{document}
\noindent%
Let \( (x,y) \in \mathbb{R} \times \mathbb{R} \)
such that \( \sqrt{x^2 + y^2} \leq \varepsilon \).
\end{document}
unicode-math
或者不加载math-style=upright
,以获得更像旧版软件包的斜体数学符号。将选项更改为math-style=ISO
也会使直立的希腊字母倾斜。
\documentclass{article}
\usepackage[math-style=ISO]{unicode-math}
\usepackage[paperwidth=10cm]{geometry} % Format a MWE for TeX.SX
\setmainfont{CMU Concrete}[
Ligatures=Common,
UprightFont=cmunorm.otf,
BoldFont=cmunobx.otf,
ItalicFont=cmunoti.otf,
BoldItalicFont=cmunobi.otf ]
\setmathfont{GFS Neohellenic Math}[Scale=MatchLowercase]
\setmathfont{cmunoti.otf}[range=it]
\setmathfont{cmunorm.otf}[range=up]
\begin{document}
\noindent%
Let \( (x,y) \in \mathbb{R} \times \mathbb{R} \)
such that \( \sqrt{x^2 + y^2} \leq \varepsilon \).
\end{document}
无论哪种情况,您都可以使用以下命令切换不同的黑板粗体字母:
\setmathfont{STIX Two Math}[range=bb,
Scale=MatchUppercase]
答案2
答案3
这concmath-otf该软件包最近进行了升级,包括直立的黑板大写字母,有正常和粗体的版本。
\documentclass{article}
\usepackage{concmath-otf}
\begin{document}
\[\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]
\mathversion{bold}\[\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\]\mathversion{normal}
\end{document}
但由于Concrete-Math.otf
和Concrete-Math-Bold.otf
是 OTF 字体,因此需要使用 XeLaTeX 或 LuaLaTeX。