参考书目名称后的垂直空格

参考书目名称后的垂直空格

我正在使用 Bibtex,需要在参考书目名称和作者姓名之间进行(较小的尺寸)更改。文档类是报告,我正在使用 natbib 包。

\documentclass[11pt,notitlepage,a4paper,oneside]{report}
\usepackage[english]{babel}
\usepackage[cp1250]{inputenc}
\usepackage{graphicx}
\usepackage{amsmath,amsthm,amssymb,}
\usepackage{a4wide,eucal,exscale}
\usepackage{china2e,variore‌​f,acronym}
\usepackage[left=3.5cm,top=2cm,right=2cm,bottom=1cm]{geometry} 
\usepackage[round]{natbib}
\usepackage{fix-cm}
\usepackage{etoolbox}
\usepackage[Glenn]{fncychap}

答案1

标题之间的间距(参考书目) 并且项目与其他章节完全相同。

以下是一种减少它的方法,但我不建议这样做:

\documentclass[a4paper]{report}
\usepackage{natbib}
\usepackage{etoolbox}

\usepackage{lipsum} % only for the example
\begin{document}
\chapter{First chapter}

\lipsum[1]\nocite{*}

%%% Start of the bibliography    
\makeatletter
\patchcmd{\@makeschapterhead}{\vskip40}{\vskip10}{}{} % change 10 to something else, if you prefer
\makeatother

\bibliographystyle{plainnat}
\bibliography{jane}

\end{document}

假设您之后没有任何其他未编号的章节。

\chapter命令依赖于两个宏来实际排版章节标题,\@makechapterhead即 for\chapter\@makeschapterheadfor \chapter*。以下是类中的定义report

\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}

如果你想删除章节标题前的空格下面的空间,最好的办法是重新定义它们:

\makeatletter
\def\@makechapterhead#1{%
  \vspace*{-40\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 12\p@
  }}
\def\@makeschapterhead#1{%
  \vspace*{-40\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 12\p@
  }}
\makeatother

根据您的需要调整12\p@(相当于12pt)。

然而,这是不是值得推荐。有些空间因为章节标题使用的字体较大,所以需要减小字体大小。如果要减少空间,也必须减小字体大小。

调整距离直到您满意为止。

用户须知fncychap

您可以通过以下方式减少空间

\usepackage[Glenn]{fncychap}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\DOTIS}{40\p@}{-10\p@}{}{}
\patchcmd{\DOTI}{80\p@}{20\p@}{}{}
\patchcmd{\@makechapterhead}{50\p@}{-20\p@}{}{}
\patchcmd{\@makeschapterhead}{50\p@}{-20\p@}{}{}
\makeatother

但是我强烈建议不要使用这样的章节样式,在我看来,这是有史以来最糟糕的设计之一。只有 Lenny 可能更糟糕。

相关内容