Old-Style Financial Statement

There are some subtle points:

  1. The vertical spacing in the header
  2. Alignment between the leader dots
  3. Horizontal alignment in the last two columns

Here's a way for solving these issues. The \? command produces a horizontal space as wide as a digit.

\documentclass{article}
\usepackage{textcomp}
\usepackage{tgschola}
\usepackage{tabularx}

\newcolumntype{I}{@{}X<{\xdotfill}}
\newcolumntype{R}{>{\qq}r<{\qq}}

\makeatletter
% http://tex.stackexchange.com/questions/41758/how-can-i-reproduce-this-table-with-thick-lines
\newcommand{\thickhline}{%
    \noalign {\ifnum 0=`}\fi \hrule height 1pt
    \futurelet \reserved@a \@xhline
}
% dot filler
\newcommand{\xdotfill}{\leavevmode\leaders\hb@[email protected]{\hss.\hss}\hfill\hskip-\tabcolsep\kern\z@}
\makeatother
\newcommand\qq{\quad}
\newcommand\tablesec[1]{\multicolumn{1}{@{}l|}{#1}&&\\}
\newcommand\tabletitle[1]{\multicolumn{1}{@{}c|}{\SEPx{2}#1}}
\newcommand\SEPx[1]{\vrule width 0pt height \dimexpr\fontcharht\font`A+2ex depth #1ex\relax}
\newcommand\SEP{\SEPx{0}}
\newcommand\?{\hphantom{0}}

\begin{document}

\renewcommand{\arraystretch}{1.2}
\noindent
\begin{tabularx}{\linewidth}{I|R|R}
\thickhline
\tabletitle{Item} & \multicolumn{1}{c|}{1939} & \multicolumn{1}{c}{1940}\\
\hline\SEP
Sales & \$187,400 & \$468,300 \\
Net income & 18,284 & 27,684 \\
\tablesec{Dec. 31 figures:}
\qq Inventory & 44,163 & 74,452 \\
\qq Total current assets & 76,995 & 109,481\\
\qq Current ratio & 3.7:1\? & 2.0:1\? \\
\qq Working capital per dollar of sales & 41\textcent\? & 23\textcent\? \\
\tablesec{Per share of common:}
\qq Earned in year & \$4.22\?\? & \$10.02\?\? \\
\qq Dividend & 4.00\?\? & 4.00\?\? \\
\qq Net-asset value & 45\? & 76\? \\[2ex]
\thickhline 
\end{tabularx}
\end{document}

enter image description here


This isn't very hard to do. In the code below, I've used \dotfill to fill the cells and made a couple of commands for the undotted subsections and the indent.

The font is really up to you. For a freely available similar font I've used TeX Gyre Schola which is a Century Schoolbook clone. But if you use XeLaTeX or LuaLaTeX you can buy the actual font you want and use that instead.

\documentclass[12pt]{article}
\usepackage{tgschola}
\usepackage{tabularx}
\newcolumntype{D}{X<{\dotfill}@{}}
\newcommand\ind{\hspace{2em}}
\newcommand\subtitle[1]{\multicolumn{1}{X@{}|}{#1}}
\begin{document}
\setlength{\extrarowheight}{.5ex}
\begin{tabularx}{\linewidth}{D|r|r}
\hline
\multicolumn{1}{c|@{}}{Item} & \multicolumn{1}{c|}{1939} & \multicolumn{1}{c}{1940}\\
\hline
Sales & \$187,400 & \$468,300 \\
Net income & 18,284 & 27,684 \\
\subtitle{Dec. 31 figures:} & & \\
\ind Inventory & 44,163 & 74,452 \\
\ind Total current assets & 76,995 & 109,481\\
\hline 
\end{tabularx}
\end{document}

If the number of indented lines is much more than the number of non-indented lines, then an alternative format would make the input easier. In this code, I've made the default row be indented and dotted, and defined commands for the undotted subtitles and the dotted titles. This removes the need to use the \ind command for each indented row.

\documentclass[12pt]{article}
\usepackage{tgschola}
\usepackage{tabularx}
\newcolumntype{D}{X<{\dotfill}@{}}
\newcommand\ind{\hspace{2em}}
\newcommand\dottitle[1]{\multicolumn{1}{D|}{#1}}
\newcommand\subtitle[1]{\multicolumn{1}{X@{}|}{#1}}
\begin{document}
\setlength{\extrarowheight}{.5ex}
\begin{tabularx}{\linewidth}{>{\ind}D|r|r}
\hline
\multicolumn{1}{c|@{}}{Item} & \multicolumn{1}{c|}{1939} & \multicolumn{1}{c}{1940}\\
\hline
\dottitle{Sales} & \$187,400 & \$468,300 \\
\dottitle{Net income} & 18,284 & 27,684 \\
\subtitle{Dec. 31 figures:} & & \\
 Inventory & 44,163 & 74,452 \\
 Total current assets & 76,995 & 109,481\\
\hline 
\end{tabularx}
\end{document}

output of code

Tags:

Fonts

Charts