1

I am trying to alter the chapter heading that is preset in the book template. I have found a style I like from Vincent Zoonekynd’s web-page, http://zoonek.free.fr/LaTeX/LaTeX_samples_chapter/0.html, however it has a large gap above the chapter heading and I cannot work out how to reduce this. My code is,

\documentclass[11pt, oneside]{book}   

\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height ex \hfill \kern \z@}
\def\@makechapterhead#1{%
\vspace*{5\p@}%
{\parindent \z@ 
{\raggedleft \reset@font
  \scshape \@chapapp{} \thechapter\par\nobreak}%
\par\nobreak
\vspace*{10\p@}
\interlinepenalty\@M
{\raggedright \Huge \bfseries #1}%
\par\nobreak
\hrulefill
\par\nobreak
\vskip 20\p@
 }}
\def\@makeschapterhead#1{%
\vspace*{10\p@}%
{\parindent \z@ 
{\raggedleft \reset@font
  \scshape \vphantom{\@chapapp{} \thechapter}\par\nobreak}%
\par\nobreak
\vspace*{30\p@}
\interlinepenalty\@M
{\raggedright \Huge \bfseries #1}%
\par\nobreak
\hrulefill
\par\nobreak
\vskip 10\p@
 }}

enter image description here

Can anyone help me reduce the white space above this?

Using the show frame package this is what my document looks like

enter image description here

  • The vertical spaces are introduced with \vspace. Please load package showframe to see what all this white space actually is. – Johannes_B May 20 '15 at 9:16
  • I guess ideally I would like the 'Chapter 1' to be written in the first box and then the 'Introduction' to be higher up.. – ERW May 20 '15 at 9:29
  • But the firs box is dedicated to pages header, not for any part of text. If you like to enlarge text height, than you need to change page layout in which you eliminate place for heading (by setting their height and after skip to zero). – Zarko May 20 '15 at 9:48
  • is there anyway to at least remove the space above Chapter 1? And perhaps reduce the space between Introduction and the subheading? I have tried altering the above code, but cannot work out how to do this. – ERW May 20 '15 at 9:51
0

A simple code with titlesec. You can play with \titlespacing: the first argument increases the left margin, the second is vertical space before the heading, and the third, vertical space after the heading.

\documentclass[11pt, oneside]{book}
\usepackage{showframe}

 \usepackage{titlesec}
 \titleformat{\chapter}[display]{}{\filleft\scshape\chaptername\enspace\thechapter}{-2pt}{\filright \Huge \bfseries}[\vskip4.5pt\titlerule]
 \titleformat{name=\chapter, numberless}[block]{}{}{0pt}{\filright \Huge \bfseries}[\vskip4.5pt\titlerule]

 \titlespacing{\chapter}{0pt}{-15pt}{25.5pt}
 \titlespacing{name=\chapter, numberless}{0pt}{16pt}{15pt}

 \begin{document}

 \chapter*{Introduction}

 \section{Intended Application of Particles}

 \end{document} 

enter image description here

1

The vertical spacing is controlled using \vspace*. You can set th value to your needs, negative values are also allowed, moving the text up on the page. A negative space of 105pt gives you the following output, though i cannot recommend to do that.

erwChapterTitle

\documentclass[11pt, oneside]{book}   
\usepackage{showframe,blindtext}

\makeatletter
\def\thickhrulefill{\leavevmode \leaders \hrule height ex \hfill
\kern \z@}
\def\@makechapterhead#1{%
    \vspace*{-105\p@}%<-------------
    {\parindent \z@ 
        {\raggedleft \reset@font
            \scshape \@chapapp{}
        \thechapter\par\nobreak}%
        \par\nobreak
        \vspace*{10\p@}
        \interlinepenalty\@M
        {\raggedright \Huge \bfseries #1}%
        \par\nobreak
        \hrulefill
        \par\nobreak
        \vskip 20\p@
    }}
        \begin{document}
        \chapter{Beloved Banana}
        \blindtext
        \end{document}
  • Using \xpatchcmd{\@makechapterhead} would be shorter ;-) – user31729 May 23 '15 at 7:40
  • Might be, or not ;-) – Johannes_B May 23 '15 at 8:44

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.