3

I'm a beginner in LaTeX and I've picked up a university template for a group report.

I can't figure out where I can change the chapter headings which have too much white space, both top and bottom. The template uses fncychap but I can't seem to find anything in there to change it. There's also a class file. Where am I likely to find an option for this? What should I look for? Can I manually override this?

For instance, our table of contents page is about a quarter whitespace at the top, which results in that it leaks out onto two pages which is completely unnecessary.

For starter's, I've gathered there are templates in fncychap, but I can't seem to figure out which one is used. This is the contents in the class file:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%%  Fancy Chapter Headings
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% (must be loaded before hyperref)
\RequirePackage{./local/fncychap/fncychap}
%
% customizations
\makeatletter
  \ChNameVar{\raggedleft\Huge\rm}
  \ChNumVar{\Huge\rm}
  \ChTitleVar{\raggedleft\Huge\sf\bfseries}
  \ChRuleWidth{2pt}

  \renewcommand{\DOCH}{%
    \vskip -0.5\baselineskip
    \mghrulefill{\RW}\par\nobreak
    \CNV\FmN{\@chapapp}\space \CNoV\thechapter
    \par\nobreak
    \vskip -0.5\baselineskip
   }
  \renewcommand{\DOTI}[1]{%
    \mghrulefill{\RW}\par\nobreak
    \CTV\FmTi{#1}\par\nobreak
    \vskip 60\p@
    }
  \renewcommand{\DOTIS}[1]{%
    \mghrulefill{\RW}\par\nobreak
    \CTV\FmTi{#1}\par\nobreak
    \vskip 60\p@
    }

What is DOCH/DOTI etc.? I tried to play around with \vskip but it didn't seem to have any noticeable effect.

(The Template in Question)

  • 1
    This looks like a template provided by (or on behalf of) a university, to help students format their theses according to the university's style guidelines. If that's the case, I don't think it's a good idea to modify the layout defined in the template -- unless you want to risk getting your thesis rejected out of hand for failing to adhere to the formatting guidelines. – Mico Apr 30 '14 at 18:10
  • @Mico You have a valid point but this is a first year bachelor report so it's pretty flexible; the others groups are using MS Word :) – MikeFoxtrot Apr 30 '14 at 18:14
5

If all you need is less space above the word "Contents", you can change the definition of \DOTIS. It stands for DO TItle Star form and it will be the first thing in an unnumbered chapter. If you put \vspace*{-50pt} just before \mghrulefill, that will cancel the 50pt of space added by fncychap. As an alternative, you could redefine \@makeschapterhead from fncychap.sty, removing or altering the \vspace*{50pt} line.

If you want even numbered chapters to have less top space, you can redefine \DOCH. This stands for DO Chapter Heading and is the first thing in a numbered chapter. You can start it with \vspace*{-50pt} for the same reason. An alternative is to redefine \@makechapterhead and remove or alter the starting \vspace command.

I would change the \@make... commands. The following simply remove the \vspace*{50pt}:

\makeatletter
\def\@makechapterhead#1{%
%  \vspace*{50\p@}% commenting out this line
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
        \DOCH
      \fi
    \fi
    \interlinepenalty\@M
    \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 060424
      \DOTI{#1}%
    \else%
      \DOTIS{#1}%
    \fi
  }}
\def\@makeschapterhead#1{%
%  \vspace*{50\p@}% commenting out this command
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \DOTIS{#1}
    \vskip 40\p@
  }}
\makeatother

Put this in your preamble (before \begin{document}).

1

The key to addressing the issue of reducing the amount of vertical whitespace above the fancy chapter header is to note that the dutmsc document class loads the book document class. As such, you need to patch two of the macros defined in book.cls -- specifically, the macros \@makechapterhead and \@makeschapterhead for numbered and unnumbered chapters, respectively. (These two macros are both defined in book.cls and re-defined by the fncychap package, which is also loaded by the dutmsc class. That package's re-definition, interestingly, does not tinker with the default amount of whitespace above the chapter header, which is set at 50pt by the book class.)

Add the following instructions to your preamble if you want no extra whitespace above the chapter headers.

\usepackage{etoolbox} % provides macros for patching macros
\makeatletter
\patchcmd{\@makechapterhead}{50\p@}{0\p@}{}{}
\patchcmd{\@makeschapterhead}{50\p@}{0\p@}{}{}
\makeatother

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.