![参考书目名称后的垂直空格](https://linux22.com/image/249608/%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E5%90%8D%E7%A7%B0%E5%90%8E%E7%9A%84%E5%9E%82%E7%9B%B4%E7%A9%BA%E6%A0%BC.png)
我正在使用 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,varioref,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
和\@makeschapterhead
for \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 可能更糟糕。