我在 Latex 中使用 Xepersian 包。我用“XBZar”字体输入整个文本,用“Yas”字体输入数字。我关心的是章节/部分/小节标签。
因此,默认情况下,整个章节/节/小节标签都采用“XBZar”字体(包括文本和编号,或任何您称之为的字体)。我只想将这些标签编号字体更改为“Yas”。
这是我目前已取得的成果以及我想要获得的目标的一个例子。 这是一个简单的例子:
\documentclass{book}
\usepackage{caption}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Zar}
\setdigitfont[Scale=1]{Yas}
\setlatintextfont[Scale=.98]{Times New Roman}
\defpersianfont\Yas{Yas}
\DeclareCaptionFormat{myformat}{{\Yas #1}#2#3}
\captionsetup{format=myformat}
\begin{document}
\chapter{مقدمه (\lr{Preface})}
\thispagestyle{empty}
\section{فصل اول (\lr{First Section})}
سلام، این یک عدد است $10.004$.
\subsection{بخش اول}
\flushleft
\lr{So, I need the chapter/section/subsection numbering font to be "Yas" instead of "XBZar". I should stress that ONLY numbering not the whole label.}
\end{document}
答案1
您可以修改 的格式\thechapter
,\thesection
并\thesubsection
使用此技巧获取标题数字所需的字体
\let\oldthechapter\thechapter
\let\oldthesection\thesection
\let\oldthesubsection\thesubsection
\renewcommand{\thechapter}{\begingroup \Yas \oldthechapter \endgroup}
\renewcommand{\thesection}{\begingroup \Yas \oldthesection \endgroup}
\renewcommand{\thesubsection}{\begingroup \Yas \oldthesubsection \endgroup}
代码
\documentclass{book}
\usepackage{caption}
\usepackage{xepersian}
\settextfont[Scale=1]{XB Zar}
\setdigitfont[Scale=1]{Yas}
\setlatintextfont[Scale=.98]{Times New Roman}
\defpersianfont\Yas{Yas}
\DeclareCaptionFormat{myformat}{{\Yas #1}#2#3}
\captionsetup{format=myformat}
\let\oldthechapter\thechapter
\let\oldthesection\thesection
\let\oldthesubsection\thesubsection
\renewcommand{\thechapter}{\begingroup \Yas \oldthechapter \endgroup}
\renewcommand{\thesection}{\begingroup \Yas \oldthesection \endgroup}
\renewcommand{\thesubsection}{\begingroup \Yas \oldthesubsection \endgroup}
\begin{document}
\chapter{مقدمه (\lr{Preface})}
\thispagestyle{empty}
\section{فصل اول (\lr{First Section})}
سلام، این یک عدد است $10.004$.
\subsection{بخش اول}
\end{document}
输出