书目标题问题

书目标题问题

\bibliography{}我对自动命令标题有疑问。

Latex 假定标题为\section{*}\\ References,但是\section*{References}是必要的。

这是问题的图片 在此处输入图片描述

这是样式文件

\ProvidesPackage{chsu}[2019/08/16 chsu Style Package]
\RequirePackage{amsmath,amssymb,amsfonts,amsthm} %различные математические пакеты

\RequirePackage[utf8]{inputenc} %кодировка символов
\RequirePackage[T1,T2A]{fontenc} %кодировка шрифтов (T1 - латин, T2A - кирил)
\RequirePackage[english,russian]{babel} %русский и английский языки в документе, переносы

\RequirePackage[
    left=2.5cm,
    right=1.5cm,
    top=2cm,
    bottom=2cm
]{geometry} %поля страницы

\RequirePackage{setspace} %для разных разметок
\onehalfspacing %полуторный интерлиньяж

\RequirePackage{indentfirst} %первая строка абзаца всегда красная
\parindent = 1.25cm %абзацный отступ

\RequirePackage{enumitem} %пакет для списков
\setlist[enumerate,itemize]{leftmargin=1.87cm,nosep,noitemsep} %списки выравниваются по абзацу
\renewcommand\labelitemi{---} %вместо точки у списков будет тире

\RequirePackage{color} %цвета в pdf (для ссылок)
\RequirePackage[pdfhighlight=/I,colorlinks=true]{hyperref} %ссылки в pdf
\RequirePackage[all]{hypcap} %по ссылке переносит на рисунок, а не название
\RequirePackage[nottoc]{tocbibind} %добавляет библиографию в содержание

\renewcommand{\section}{\@startsection{section}{1}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}
} % заголовок по ГОСТ

\renewcommand{\subsection}{\@startsection{subsection}{2}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}
} % подзаголовок по ГОСТ

\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}
} % подподзаголовок по ГОСТ

\def\capfigure{figure} %заменяет знак в названии рисунка точку на тире
\def\captable{table}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \ifx\@captype\capfigure
      \centering #1~---~#2 \par
  \else
      #1~---~#2 \par
  \fi
  \vskip\belowcaptionskip}

\addto\captionsrussian{\def\figurename{Рисунок}} %вместо рис. - рисунок (ГОСТ)
\renewcommand{\thefigure}{\thesection.\arabic{figure}} %сквозная нумерация рисунков

\newtheoremstyle{forthm} %стиль для теорем
    {0em}
    {0em}
    {\itshape}
    {1.25cm}
    {\bfseries}
    { \normalfont{---} }
    {0em}
    {}

\theoremstyle{forthm} %обозначение, что теоремы будут с этим стилем
\newtheorem{theorem}{Теорема}[section] %команда для теоремы        
\newtheorem{lemmma}{Лемма}[section] %команда для леммы

\newtheoremstyle{fordefn} %стиль для определений
    {0em}
    {0em}
    {}
    {1.25cm}
    {\bfseries}
    { \normalfont{---} }
    {0em}
    {}
\theoremstyle{fordefn} %обозначение, что определения будут с этим стилем
\newtheorem{definition}{Определение}[section] %команда для определения
\newtheorem{prop}{Утверждение}[section] %команда для утверждения

\newcommand{\hm}[1]{#1\nobreak\discretionary{}{\hbox{\ensuremath{#1}}}{}}       %команда делает повторение символа в строчной формуле

\endinput

答案1

降低的 MWE

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}
}
\makeatother

\begin{document}
\section*{Foo}
\end{document}

重现您描述的问题

1 *//Foo

此处的问题在于重新定义 的末尾有一个虚假空格\section。未受保护的行尾字符会产生不必要的空格,如果您使用星号形式,这会破坏您的标题。正确的定义应该是

\renewcommand{\section}{\@startsection{section}{1}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}}

或者

\renewcommand{\section}{\@startsection{section}{1}{0pt}
        {1.3pt}
        {1.3pt}
        {\centering\hyphenpenalty=10000\normalfont\bfseries}%
}

所有\section类似命令chsu均受影响,需要修复。如果可能,请将此错误报告给类/包的维护者。

使用修复版本,结果是

福

正如预期的那样。

相关内容