2

I am kinda new to Latex so I apologize if there is a solution I am not aware of.

I am a little annoyed by the size and position of title/author/date in the ordinary format like \documentclass[12pt]{article}. I am curious if there is an easy way to change the style just for the title/author/date part.

I found some discussions about using \begin{titlepage}, but I do not want a single page. I just need to make some basic adjustments. For example, the title at the top left, author on the next line, and date on the same line with author but adjusted to the right. (Something like this.)

Thanks to all.

3

Note that because no information was provided about the context and the question lacked a minimal working example, this answer (and the others posted so far) assume use of a standard class such as article. If you are using a non-standard class (e.g. a KOMA class or Memoir or Beamer or ...), then you should obviously use the facilities provided by your class.

Caveat emptor!


Rather than reinventing the wheel, I would use this nice one somebody provided earlier, called titling.

Not only does this make it easy to customise the standard title elements. It also provides hooks which may be used to add additional elements, if desired. Moreover, it prevents \maketitle from throwing away the information about the title, so this may be used later e.g. in headers. If required, you can also use \maketitle, titlepage and titlingpage multiple times with the same or different information.

Fortunately, you probably do not need all of this. But it is nevertheless quite convenient.

Note two things.

  1. The code is long because I have demonstrated how to redefine every element of the title and how to use every available hook. It is extremely unlikely you want to do this, so your code will no doubt be much simpler!

  2. Obviously I would not recommend this way of typesetting the title on aesthetic grounds - it is quite hideous. This is because I wanted to demonstrate a range of different options and, therefore, threw consistency and simplicity out of the window.

Here's a rather elaborate customisation of the title

\pretitle{% add some rules
  \begin{center}
    \Huge\bfseries
}%, make the fonts bigger, make the title (only) bold
\posttitle{%
  \end{center}%
  \noindent\vrule height 2.5pt width \textwidth
  \vskip .75em plus .25em minus .25em% increase the vertical spacing a bit, make this particular glue stretchier
}

author(s)

\preauthor{%
  \begin{center}
    \Large \lineskip 0.75em%
    \vrule height 0.4pt width .25\textwidth\par
    \begin{tabular}[t]{@{}l@{}}%
}
\postauthor{%
    \end{tabular}
    \vskip -.5em
    \par
    \vrule height 0.4pt width .25\textwidth\par
  \end{center}%
}

and date

\predate{%
  \begin{center}
    \Large
}
\postdate{%
  \end{center}%
}

And here are the hooks for additional elements: before the title

\renewcommand\maketitlehooka{%
  \noindent\vrule height 2.5pt width \textwidth
}

between title and author

\renewcommand\maketitlehookb{%
  \begin{flushleft}
    \itshape
    Translated from the original German by
  \end{flushleft}%
}

between author and date

\renewcommand\maketitlehookc{%
  \begin{flushleft}
    \itshape
    based on the edition published by Immanuel Kant
  \end{flushleft}%
}

and after the date

\renewcommand\maketitlehookd{%
  \begin{center}%
    \itshape --- Here ends the title ---
  \end{center}%
}

title

And we can use \thetitle, \theauthor etc. to reuse the information from \title{} and \author{} in our headers using fancyhdr.

\fancyhf[ch]{\itshape\thetitle{}}
\fancyhf[rh]{\itshape trans.\ by \theauthor}

header

Complete code:

\documentclass{article}
\usepackage{titling}% the wheel somebody else kindly made for us earlier
\usepackage{fancyhdr}
\pretitle{% add some rules
  \begin{center}
    \Huge\bfseries
}%, make the fonts bigger, make the title (only) bold
\posttitle{%
  \end{center}%
  \noindent\vrule height 2.5pt width \textwidth
  \vskip .75em plus .25em minus .25em% increase the vertical spacing a bit, make this particular glue stretchier
}
\preauthor{%
  \begin{center}
    \Large \lineskip 0.75em%
    \vrule height 0.4pt width .25\textwidth\par
    \begin{tabular}[t]{@{}l@{}}%
}
\postauthor{%
    \end{tabular}
    \vskip -.5em
    \par
    \vrule height 0.4pt width .25\textwidth\par
  \end{center}%
}
\predate{%
  \begin{center}
    \Large
}
\postdate{%
  \end{center}%
}
\renewcommand\maketitlehooka{%
  \noindent\vrule height 2.5pt width \textwidth
}
\renewcommand\maketitlehookb{%
  \begin{flushleft}
    \itshape
    Translated from the original German by
  \end{flushleft}%
}
\renewcommand\maketitlehookc{%
  \begin{flushleft}
    \itshape
    based on the edition published by Immanuel Kant
  \end{flushleft}%
}
\renewcommand\maketitlehookd{%
  \begin{center}%
    \itshape --- Here ends the title ---
  \end{center}%
}
% unlike the default command, the redefined \maketitle makes it possible to reuse the title information in the headers
\pagestyle{fancy}
\fancyhf{}
\fancyhf[lh]{\itshape Immanuel Kant}
\fancyhf[ch]{\itshape\thetitle{}}
\fancyhf[rh]{\itshape trans.\ by \theauthor}
\fancyhf[cf]{--- \thepage ---}

\usepackage{kantlipsum}% only for the example
\begin{document}
\author{H. Hong}
\title{Critique of Pure Reason}
\date{c\,1780}
\maketitle
\kant[1-10]
\end{document}
1

Here is an example of how to redefine \maketitle. I didn't spend any effort on the design (this is up to you, I didn't want to risk annoying you ;-), but it shows how to access title, author and date.

\documentclass[12pt]{article}
\usepackage{blindtext}
\makeatletter
\renewcommand\maketitle
  {\noindent
   {\Large\bfseries\@title}%
   \medskip\par\noindent
   {\large\bfseries\@author}%
   \hfill
   {\large\@date}%
   \bigskip\par\noindent
  }
\makeatother
\begin{document}
\title{The Title}
\author{The Name}
\maketitle
\blindtext
\end{document}
  • Thanks! This is exactly what I need. Let me annoy myself by working on this template. :) – H.Hong Sep 5 '16 at 16:05
  • @H.Hong Note that a full definition of \maketitle needs to be rather more complex e.g. to handle \thanks and multiple authors. Also, the standard command throws away the contents of various macros. This may or may not be what you want, but it is a nuance of which you should be aware. (Not throwing them away is an advantage, in my opinion, but then it is best to save the values with more user-friendly command names.) Also, the \noindent at the end is not standard but will affect the first paragraph of the document, as opposed to the title itself. – cfr Sep 5 '16 at 23:57

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.