粗体、斜体(和无衬线)数学符号

粗体、斜体(和无衬线)数学符号

我想在TUGboat 30:3,2009年关于标量、向量和张量的直立/斜体和粗体/正常。所有这些都与数学有关。

我使用这个字体:

\usepackage[charter]{mathdesign}

对于向量,我总是使用\vec,所以我只是像这样重新定义它:

\renewcommand{\vec}[1]{\boldsymbol{#1}}

现在它们变成了粗体和斜体,就像我想要的那样。这是正确的做法吗?

如何获得粗体、斜体和无衬线的字符?

几乎明白了,它们只是直立的而不是斜体的:

\newcommand{\tens}[1]{\boldsymbol{\mathsf{#1}}}

答案1

最简洁的方法是定义一个新的数学字母表:

\DeclareMathAlphabet{\mathbfsf}{\encodingdefault}{\sfdefault}{bx}{n}

进而

\newcommand{\tens}[1]{\mathbfsf{#1}}

如果你想要斜体粗体无衬线字体,只需将第一个声明更改为

\DeclareMathAlphabet{\mathbfsf}{\encodingdefault}{\sfdefault}{bx}{sl}

但请记住,OT1 编码的 Computer Modern Sans 字体没有倾斜粗体,因此

\usepackage[T1]{fontenc}

或者

\usepackage{lmodern}

是必须的。


您还应该考虑使用\bmbm而不是\boldsymbol,这样\bm{\mathsf{T}}就相当于\mathbfsf{T}第一个声明的。但是,没有预定义的无衬线斜体数学字母表。因此,如果您还需要无衬线斜体,更经济的设置将是

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{bm}

\DeclareMathAlphabet{\mathsfit}{\encodingdefault}{\sfdefault}{m}{sl}
\SetMathAlphabet{\mathsfit}{bold}{\encodingdefault}{\sfdefault}{bx}{sl}

\newcommand{\tens}[1]{\bm{\mathsfit{#1}}}

\begin{document}
$\tens{T}$
\end{document}

在此处输入图片描述

相关内容