我有以下 LaTeX 源代码:
\documentclass{book}
\usepackage[serbianc,serbian]{babel}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[Script=Cyrillic]{serbian}
\setmainfont{Minion Pro}
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{thm}{Теорема}
\pagestyle{plain}
\begin{document}
\chapter{Прва глава}
\section{Прва секција}
\begin{thm}\label{testthm}
Нека ред $\sum_{n=1}^{\infty}f_n(x)$ конвергира и наке функције $f_n(x)$
имају непрекидне изводе
\end{thm}
\end{document}
运行 XeLaTeX 后我得到 PDF 文件
不幸的是,定理的名称(Теорема)是粗体斜体。我的目标是定理的名称应该是粗体\bfseries
,定理主体中的字体应该是粗体\itshape
。如果有人知道解决方案,请帮助我。提前谢谢。
答案1
您可以使用以下方式定义新的定理样式\newtheoremstyle
:
\documentclass{book}
\usepackage[serbianc,serbian]{babel}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[Script=Cyrillic]{serbian}
%\setmainfont{Minion Pro}
\setmainfont{Arial}
\usepackage{amsthm}
% Pick a better name
\newtheoremstyle{requestedstyle}% name
{3pt}% Space above
{3pt}% Space below
{\itshape}% Body font
{}% Indent amount, empty means none
{\upshape\bfseries}% Theorem head font
{.}% Punctuation after theorem head
{.5em}% Space after theorem head
{}% Theorem head spec, empty means normal
\theoremstyle{requestedstyle}
\newtheorem{thm}{Теорема}
\pagestyle{plain}
\begin{document}
\chapter{Прва глава}
\section{Прва секција}
\begin{thm}\label{testthm}
Нека ред $\sum_{n=1}^{\infty}f_n(x)$ конвергира и наке функције $f_n(x)$
имају непрекидне изводе
\end{thm}
\end{document}
我没有您使用的字体,但我有 Arial。
答案2
fontspec
和之间的交互很糟糕polyglossia
;实际上,它\normalfont
并没有真正拾取主文档字体(塞尔维亚语),正如您在“测试”行中看到的那样,它采用的是粗体斜体而不是粗体直立字体。
\upshape
您可以通过添加默认令牌列表来解决特定问题\thm@headfont
。
\documentclass{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage[Script=Cyrillic]{serbian}
\setmainfont{Minion Pro}[
Script=Cyrillic,
Language=Serbian,
]
\usepackage{amsthm}
\theoremstyle{plain}
\makeatletter
\thm@headfont{\upshape\bfseries}
\makeatother
\newtheorem{thm}{Теорема}
\pagestyle{plain}
\begin{document}
\chapter{Прва глава}
\section{Прва секција}
{\itshape\normalfont\bfseries Test} % is italic!
\begin{thm}\label{testthm}
Нека ред $\sum_{n=1}^{\infty}f_n(x)$ конвергира и наке функције $f_n(x)$
имају непрекидне изводе
\end{thm}
\end{document}