Latex 中的粗体数学

Latex 中的粗体数学

我知道这里已经发布了许多关于乳胶中数学加粗的问题。但我无法让其中任何一个起作用。

这是我的序言:

\usepackage{natbib}
\usepackage{changes}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{setspace}
\usepackage{subcaption}
\usepackage{minted}
\usepackage{pgfplots}
\usepackage{url}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{adjustbox}
\usepackage{float}
\usepackage{amsmath}

我在我的大文档中的某个地方尝试:

\begin{equation}
\bar{\mathbf{\sigma}}=\frac{\mathbf{\sigma}}{1-d}
\end{equation}

然而,我得到了这个: 在此处输入图片描述

如果我使用\boldsymbol则不会有任何效果。然后如果我使用\bm,首先会出现错误:

! Undefined control sequence.
l.100 \bar{\bm
              {\sigma}}=\frac{\bm{\sigma}}{1-d}

如果我添加\usepackage{bm}到我的序言我得到一个错误:

! Improper alphabetic constant.

                   \mitsigma 
l.100 \bar{\bm{\sigma}
                      }=\frac{\bm{\sigma}}{1-d}

为什么我的数学加粗这么难?我的情况是怎样的?我做错了什么?

编辑:补充:我使用 MiKTeX 和 TeXworks,并使用 XeLaTeX 进行渲染

EDIT2:根据要求提供完整最小示例:

\documentclass[11pt]{article}

\usepackage{natbib}
\usepackage{changes}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{setspace}
\usepackage{subcaption}
\usepackage{minted}
\usepackage{pgfplots}
\usepackage{url}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{tikz}
\usepackage{adjustbox}
\usepackage{float}
\usepackage{amsmath}

\begin{document}
\begin{equation}
\bar{\boldsymbol{\sigma}}=\boldsymbol{\sigma}(1-d)
\end{equation}

\end{document}

但这里一切正常。所以这意味着问题出在我使用的文档类上。它由我的大学提供。有什么想法可以覆盖破坏我的粗体数学的东西吗?

编辑3:这是我大学课堂上的片段(我没有添加整个内容,因为它长达 1000 行)。这是整个课堂上唯一提到数学的地方。

\if@nativefonts
    %% The native font is Utopia Regular with Fourier math. We use Latin Modern
    %% as a fallback, since Utopia lacks support for sans-serif and monospace.
    \RequirePackage[T1]{fontenc}
    \RequirePackage[utf8]{inputenc}
%    \RequirePackage{lmodern}
    \if@roman
%      \RequirePackage{lato}
%      \RequirePackage{helvet}
      \RequirePackage[thin]{roboto}
      \RequirePackage{fourier}
    \else
      \RequirePackage[thin]{roboto}
%      \RequirePackage[default]{lato}
      \RequirePackage{helvet}
      \renewcommand{\familydefault}{\sfdefault}
    \fi
    \def\largetitlefont{\fontfamily{Roboto-LF}}
    \def\largetitleseries{\fontseries{t}}
    \def\largetitleshape{\fontshape{n}}
    \def\largetitlestyle{\largetitlefont\largetitleseries\largetitleshape}
    \def\titleshape{\fontshape{n}}
    \if@roman
        \renewcommand{\familydefault}{\rmdefault}
        \def\titlefont{\fontfamily{fla}}
        \def\sectitleshape{\fontshape{n}}
        \def\sectitlestyle{\rmfamily\titleshape\bfseries}%{\familydefault\bfseries}
        \def\chaptitlestyle{\rmfamily\titleshape}
    \else
%        \renewcommand{\familydefault}{\tudsffamily}
%        \def\titleshape{\fontshape{n}}
        \def\titlefont{\fontfamily{fla}}
        \def\sectitlestyle{\sffamily\titleshape\bfseries}%        \def\sectitlestyle{\titleshape\bfseries}
        \def\chaptitlestyle{\sffamily\titleshape}
    \fi
%    \def\largetitleshape{\upshape}
%    \if@print
    \def\titlestyle{\titlefont\titleshape}
%    \else
%        \def\titlestyle{\titlefont\titleshape}
%        \def\sectitlestyle{\sffamily\titleshape\bfseries}
%    \fi
%    \def\titlestyle{\titlefont\titleshape\bfseries}
%    \if@print
%        \def\headerstyle{\titlefont\titleshape\bfseries}
%    \else
        \def\headerstyle{\titlefont}
%    \fi
\else
    %% Apart from Bookman Old Style and Arial, we use Courier New for monospace
    %% and Cambria for math.
    \RequirePackage{unicode-math}
    \setmainfont[
        Path = fonts/,
        Extension = .ttf,
        BoldFont = *-Bold,
        ItalicFont = *-Italic,
        BoldItalicFont = *-BoldItalic
    ]{BookmanOldStyle}
    \setsansfont[
        Path = fonts/,
        Extension = .ttf,
        BoldFont = *_Bold,
        ItalicFont = *_Italic,
        BoldItalicFont = *_Bold_Italic]{Arial}
    \setmonofont[
        Path = fonts/,
        Extension = .ttf,
        UprightFont = *MT,
        BoldFont = *-BoldMT,
        ItalicFont = *-ItalicMT,
        BoldItalicFont = *-BoldItalicMT
    ]{CourierNewPS}
    \setmathfont[
        Path = fonts/,
        Extension = .ttf
    ]{CambriaMath}
    %% The default style for text is Tahoma (sans-serif).
%    \setlength\@largetitlesize{96pt}
    \renewcommand*\familydefault{\sfdefault}
    %% The default style for titles is Bookman Old Style (serif). 
    \def\titlefont{\tudsffamily}
    \def\largetitlefont{\tudtitlefamily}
    \def\titleshape{}
    \def\largetitleshape{\titleshape}
    \def\largetitleseries{}
    \def\largetitlestyle{\largetitlefont\largetitleseries\largetitleshape}
    \def\chaptitlefamily{\tudsffamily}
%    \if@print
%        \def\titlestyle{\titlefont\titleshape}
%%        \def\largetitlestyle{\largetitlefont\titleshape\bfseries}
%        \def\sectitlestyle{\tudsffamily\titleshape\bfseries}
%    \else
        \def\titlestyle{\titlefont\titleshape}
%        \def\largetitlestyle{\largetitlefont\titleshape}
        \def\sectitlestyle{\tudsffamily\titleshape\bfseries}
        \def\chaptitlestyle{\chaptitlefamily}
%    \fi
    \def\headerstyle{\titlestyle}
\fi

答案1

由于您使用 xelatex 进行编译,因此我根据代码片段推测您使用 unicode-math 和 Cambria Math 作为数学字体。使用此设置,\boldsymbol 和 \bm 等标准解决方案通常不起作用。使用 unicode-math,您可以使用\symbf\symbfit获取符号的粗体版本Unicode 和数学字体中存在哪些粗体版本。您可以为完整方程式应该更粗的情况(例如在标题中)设置伪造的更粗数学字体。

\documentclass[11pt]{article}

\usepackage{amsmath,bm}
\usepackage{unicode-math}
\setmathfont[]{CambriaMath}
\setmathfont[version=bold,FakeBold=2]{CambriaMath}
\begin{document}
single symbols bolder:
\begin{equation}
123= \symbf{\alpha} = \bar{\symbf{\sigma}}
\end{equation}

everything bolder:
\mathversion{bold}
\begin{equation}
123= \alpha = \bar{\sigma}
\end{equation}

\end{document}

在此处输入图片描述

相关内容