当目录字体声明为常规字体时,将变为粗体

当目录字体声明为常规字体时,将变为粗体

我正在尝试创建目录,并使用 Devanagari 字体。我将字体声明为 Shobhika Regular,但在目录环境中,它会变为粗体。如何防止这种情况发生。我的代码是

\documentclass[letterpaper,12pt]{book}
\usepackage{fancyhdr}
\usepackage{footnpag}
\usepackage{longtable}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage[larger]{skt}
\usepackage{setspace}
\usepackage[total={6.5in,8.75in},top=1.2in,left=1.1in]{geometry}
\pagestyle{fancy}

\setlength{\parindent}{0pt}
\setlength{\LTleft}{0pt}
\renewcommand{\headrulewidth}{1.5pt}
\renewcommand{\footrulewidth}{1.5pt}

\newcommand{\san}[1][1.35]{
    \catcode`\^=12
    \catcode`\~=12
    \fontspec[WordSpace=0.75,Script=Devanagari,Mapping=sk-dvn,Scale=#1]{Shobhika Regular}}

\begin{document}
\thispagestyle{empty}
\label{ds_contents}
\centerline{\san vi.sayasuucii}

\contentsline{chapter}%
{\numberline{\bf 1}{\hspace{3mm}%
{\san namaste}}%
\hspace{3mm}\dotfill ~~~}%
{\pageref{namaste}}

{\san namaste}
\end{document}

在此处输入图片描述

正如您所见,当目录环境中的 namaste 具有正确的字体时,它会显示为粗体。

答案1

这里缺少的是\contentsline{chapter}调用一个宏,\l@chapter它设置目录的章节样式条目。此宏还包括一些格式,默认情况下使用大胆的章节标题。您可以使用tocloft调整格式:

在此处输入图片描述

\documentclass{book}

\usepackage{tocloft}
\renewcommand{\cftchappresnum}{\bfseries}
\renewcommand{\cftchapfont}{\normalfont}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}}

\begin{document}

\pagestyle{empty}

\begin{center}
  \bfseries Contents
\end{center}

\contentsline{chapter}%
  {\numberline{1}Greetings}%
  {1}

Greetings

\end{document}

您可以通过调整 来调整引导点的间距\cftdotsep。例如,如果您希望点之间的距离更近,请使用\renewcommand{\cftdotsep}{3}(默认为4.5)。

相关内容