我知道这里已经发布了许多关于乳胶中数学加粗的问题。但我无法让其中任何一个起作用。
这是我的序言:
\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}