Building a No‑Fluff Report Template in LaTeX
LaTeX
  Abstract
    On a few occasions, I had to write a LaTeX/PDF report or documentation on what I was doing. I often got annoyed with TeX templates, which had lots of wasted whitespace around the title and edges of the document. So, I created a template that improves density, flexibility, and clarity.
Why a New Template?
- Dense (less fluff) — Every square centimeter should serve the reader. Tighter vertical spacing and compact headings keep the narrative flowing.
- Optional titles — Some documents benefit from title; others (like a few‑paragraph conclusion) do not. The template should let me toggle them off with a single flag.
- Flexible — Today, I might need a one‑pager. Tomorrow, a 20‑page appendix. Layout decisions (margins, font, color) should be parameterized — not hard‑wired.
Existing classes like article or even IEEEtran come close but still force in essential baggage (abstract blocks, keywords, etc.). Then I stumbled upon the elegant ministate class. So I adapted it.
Meet ministate v3.0
ministate.cls
\ProvidesClass{ministate}[2023/03/29 v3.0 Minimalist statement class]
\LoadClass[11pt,a4paper]{article}
\usepackage[utf8]{inputenc} % from 2018, UTF-8 is default in LaTeX
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[margin=0.8in]{geometry}
\usepackage{parskip}
\usepackage{fancyhdr}
\setlength{\headheight}{15.2pt}
\pagestyle{fancy}
\fancyhf{} % Clear all header and footer fields
%--------------------------------------------------%
%    Title, HeaderTitle, Author, HeaderAuthor,     %
%                 Custom Date                      %
%--------------------------------------------------%
\let\oldtitle\title
\let\oldauthor\author
\let\olddate\date
\def\@headertitle{}
\def\@headerauthor{}
\def\@headerdate{}
% Redefine the \title and \author commands
\renewcommand{\title}[1]{%
    \oldtitle{#1}%
    \ifx\@headertitle\@empty%
        \relax\def\@headertitle{#1}%
    \fi%
}
\renewcommand{\author}[1]{%
    \oldauthor{#1}%
    \ifx\@headerauthor\@empty%
        \relax\def\@headerauthor{#1}%
    \fi%
}
\renewcommand{\date}[1]{%
    \olddate{#1}%
    \ifx\@headerdate\@empty%
        \relax\def\@headerdate{#1}%
    \fi%
}
% Commands for explicitly setting the header title and header author
\newcommand{\headertitle}[1]{\def\@headertitle{#1}}
\newcommand{\headerauthor}[1]{\def\@headerauthor{#1}}
\fancypagestyle{ministate}{%
  \fancyhf{}% clear everything
  \fancyhead[L]{\textbf{\@headertitle}\ifx\@headerdate\@empty\else\ (\@headerdate)\fi}%
  \fancyhead[R]{\textbf{\@headerauthor}}%
  \fancyfoot[C]{\thepage}%
}
\pagestyle{ministate}
% Apply header settings including the custom date
%\fancyhead[L]{\textbf{\@headertitle}\ifx\@headerdate\@empty\else\ (\@headerdate)\fi} % Title (Custom Date)
%\fancyhead[R]{\textbf{\@headerauthor}} % Author
%\fancyfoot{} % Override existing foot numbering
%\fancyfoot[C]{\thepage} % Page number at center of footer
%--------------------------------------------------%
%                   Document Body                  %
%--------------------------------------------------%
% Usage:
% \title{Your Title Here}
% \author{Author Name}
% \headertitle{Your Header Title Here} - For custom header title
% \headerauthor{Your Header Author Here} - For custom header author
% \date{Custom Date or Empty String} - To change or remove the date
% Comment this block if we don't want header on the first page
\usepackage{etoolbox}   % load before you patch anything
\makeatletter
\patchcmd{\maketitle}%          the command to patch
  {\thispagestyle{plain}}%      code to replace
  {\thispagestyle{ministate}}%  replacement
  {}{}                          % ← success / failure actions (empty)
\makeatother
\makeatletter
\def\@maketitle{%
  \newpage
  \begin{center}%
    \let\footnote\thanks
    {\LARGE \@title\par}%
    \vskip 0.2em%
    {\large\begin{tabular}[t]{c}\@author\end{tabular}\par}%
    \vskip 0.2em%
    {\large \@date}\vskip 0.2em% % Commented out to remove the date
  \end{center}%
  \par
}%
\makeatotherThe content of example.tex file:
example.tex
\documentclass[11pt,a4paper,nonatbib]{./ministate}
% (optional) bibliography
%\usepackage[backend=biber,style=ieee,autocite=plain,sorting=none]{biblatex}
%\addbibresource{biblio.bib}
\usepackage[sfdefault]{atkinson}
\usepackage{fontawesome}
\usepackage{hyperref}
\usepackage{url}
\usepackage[english]{babel}
\usepackage[autostyle,english=british]{csquotes}
% (optional) prevent breaking words
\usepackage[none]{hyphenat}
\interdisplaylinepenalty=10000
% lorem ipsum generator
\usepackage{kantlipsum}
% ministate settings
\title{The Summary of Lorem Ipsum}
\headertitle{The Shorter Title}  % (optional) will use \title if not used
\author{Johnny English, PhD}
\headerauthor{Johnny E., PhD} % (optional) will use \author if not used
\date{May 7, 2025}
\begin{document}
\maketitle
\kant
%\clearpage
%\printbibliography[title={Osebna bibliografija}]
\end{document}Outcome
Below, I embedded the outcome PDF of the above code samples …