Replace the center
environment with the \centering
switch to avoid additional vertical space. For the second issue simply use small capitals for the title. See code below for the modifications.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[margin=1in]{geometry}
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}
\newcommand{\Hrule}{\rule{\linewidth}{0.3mm}}
\makeatletter% since there's an at-sign (@) in the command name
\renewcommand{\@maketitle}{%
\parindent=0pt% don't indent paragraphs in the title block
\centering
{\Large \bfseries\textsc{\@title}}
\HRule\par%
\textit{\@author \hfill \@date}
\par
}
\makeatother% resets the meaning of the at-sign (@)
\title{Statement of Purpose}
\author{name}
\date{Ph.D. Applicant}
\begin{document}
\maketitle% prints the title block
Emergency medicine has always been a passion of mine\ldots
\end{document}
First of all, I can only chime in with commentors to say that TeX is certainly one of the best systems you can find for this kind of task.
As your question is not very specific and some pointers have already been given, let me just give some examples for comparable uses and suggestions for proceeding further. Feel free to ask more specific questions ;-)
One example of a (commercial) data driven document generation system implemented entirely in TeX is my DocScape. You can find some references here; I also gave some examples in this answer.
To give you some numbers on performance: A german federal government ("Niedersachsen") is using a TeX-based system for publishing budget documents (budget plan, reports and a lot of other stuff). About 16,000 people from the state administration are involved, maintaining data. Every one of them can generate a preview (of about 2-10 pages) at any time, which leads to up to 300 documents generated in parallel at any time (on an AIX mainframe).
Once a year, several volumes of 1000+ pages are generated for print, plus a couple of intermediate versions.
See for instance the last budget report.
In general, I'm probably not the right person to comment on performance, because DocScape is sadly rather inefficient from a macro programming point of view, so I can't really report any speed records for my own projects.
TeX itself, on the other hand, certainly is a role model of efficiency, because it hasn't been affected by software bloat for at least the last 30 vears. So you shouldn't run into any performance problems at all. In particular if you're generating a lot of independent documents, you can run as many TeX processes in parallel as you have processors in your machine, further speeding up things.
Here some further hints on how to proceed.
- First, I would preprocess the input (ASCII) data, transforming either into XML or some "pseudo" TeX data notation.
- This doesn't mean you need to generate complete TeX documents, but at least inserting some control sequences to markup document and data structures, images etc. will make later processing with TeX much easier.
- I would by all means do all the number crunching during preprocessing, in particular for the bar charts. The charts themselves can then be plotted with TikZ.
Best Answer
You don't need XeLaTeX, nor many of the customization in that template.
For having a page number at the bottom and reducing the spacing between header and first line, here are some modifications.