Adjused Evan Sultanik's makeapprovalform to be more LaTeX-y.
authorW. Trevor King <wking@drexel.edu>
Wed, 29 Sep 2010 05:40:51 +0000 (01:40 -0400)
committerW. Trevor King <wking@drexel.edu>
Wed, 29 Sep 2010 05:49:51 +0000 (01:49 -0400)
The original implementation was a more TeX-y.

Also make similar stylistic changes to other aspects of Evan's patch.

drexel-thesis.dtx

index 2b2a276b23706b01945a37c0cd382defc96851c2..f22781c3d6449af3496da5fa49364095fc58ea09 100644 (file)
 % \changes{0.13}{2010/07/28}{W.~Trevor King cleaned up TOC/LOT/LOF code.}
 % \changes{0.14}{2010/09/21}{Evan Sultanik added the
 %   \texttt{approvalform} option for including a \LaTeX\ version of
-%   the \texttt{T-1} thesis form.}
+%   the T-1 thesis form.}
 %
 % \MakeShortVerb{\|}
 % \newcommand{\pkg}[1]{\textsf{#1}}
 % \Lopt{indentfirst} indents the first paragraph after sections etc.
 %
 % \DescribeOption{approvalform}
-% \Lopt{approvalform} includes a copy of the \texttt{T-1} thesis
-% approval form as the first page of your thesis/dissertation.  This
-% form is bound to the front of very thesis/dissertation by the
+% \Lopt{approvalform} includes a copy of the
+% \href{http://www.drexel.edu/graduatestudies/forms/Thesis_Approval_Form.pdf}{%
+%   T-1} approval form as the first page of your thesis/dissertation.
+% This form is bound to the front of every thesis/dissertation by the
 % library.  The version that is generated by this option is typeset in
-% \LaTeX\ with the same margins, fonts, \textit{\&c.}~as the rest of
+% \LaTeX\ with the same margins, fonts, etc.~as the rest of
 % your document.  The title of your dissertation and your name are
 % automatically entered.
 %
 % \end{example}
 %
 % \begin{command}
-%   `\cs{makeapprovalform}'
-% \end{command}
-% \DescribeMacro{\makeapprovalform}
-% Typesets the \texttt{T-1} thesis approval form.  This macro is
-% automatically called before the title page when the
-% \texttt{approvalform} option is enabled.
-%
-%
-% \begin{command}
 %   `\cs{drexellogobw}'
 % \end{command}
 % \DescribeMacro{\drexellogobw}
 % Draws a black-and-white official vector Drexel logo.  The image is
 % exactly 1~inch wide and 1.016~inches tall.  This is accomplished
-% using the \texttt{tikz} package (\textit{cf.}~\S\ref{sec:tikz}).
-% You can enclose this command in a \texttt{scalebox} to alter its
-% size.
+% using the \pkg{tikz} package (\S~\ref{sec:tikz}).  You can enclose
+% this command in a |\scalebox| to alter its size.
 %
 %
 % \subsection{Environments}
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\makeapprovalform}
-% Typesets the \texttt{T-1} thesis/dissertation approval form.
+% \begin{macro}{\DUT@makeapprovalform}
+% Typesets the T-1 thesis/dissertation approval form.
 % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.}
 %    \begin{macrocode}
-\newcommand\makeapprovalform{
+\newcommand\DUT@makeapprovalform{
   \thispagestyle{empty}
-  \noindent\drexellogobw\hfill
-  \dimen0=\hsize
-  \advance\dimen0 by -1.25in
-  \vbox to 1in{
-    \vfill
-    \hbox to \dimen0{\Huge\textbf{Office of Graduate Studies}}
-    \hbox{}
-    \hbox to \dimen0{\LARGE\textbf{Dissertation/Thesis Approval Form}}
-    \vfill
-  }
-
-  \vskip0.25in
-
-  \noindent This form is for use by all doctoral and master's
-  students with a dissertation/thesis requirement.  Please print
-  clearly as the library will bind a copy of this form with each
-  copy of the dissertation/thesis. All doctoral dissertations must
-  conform to university format requirements, which is the
-  responsibility of the student and supervising professor. Students
-  should obtain a copy of the Thesis Manual located on the library
-  website.
+  \begingroup
+  \newlength{\tempskipa}
+  \newlength{\tempskipb}
+%    \end{macrocode}
+% Don't indent paragraphs on this page.
+%    \begin{macrocode}
+  \parindent \z@
+%    \end{macrocode}
+% Setup $\mbox{tempskipa} = \mbox{logo width} + \mbox{4pt}$ and
+% $\mbox{tempskipb} = \mbox{textwidth} - \mbox{tempskipa} -
+% \mbox{4pt}$.  The first |pt| ensures the logo will fit in the left
+% column; the second provides some buffer space between the minipages.
+%    \begin{macrocode}
+  \settowidth{\tempskipa}{\drexellogobw}
+  \addtolength{\tempskipa}{1em}
+  \setlength{\tempskipb}{\textwidth}
+  \addtolength{\tempskipb}{-\tempskipa}
+  \addtolength{\tempskipb}{-1em}
+%    \end{macrocode}
+% Add the logo and form title in columns.  Each column is in a minipage.
+%    \begin{macrocode}
+  \begin{minipage}[c]{\tempskipa}
+%    \end{macrocode}
+% |\raisebox| drops the logo so that the image is centered on the baseline.
+%    \begin{macrocode}
+    \raisebox{-0.5\height}{\drexellogobw}
+  \end{minipage}
+  \hfill
+  \begin{minipage}[c]{\tempskipb}
+%    \end{macrocode}
+% Unlike |\newline| or |\\|, |\linebreak| justifies the current line
+% before requesting a newline.
+%    \begin{macrocode}
+    \textbf{\Huge Office of Graduate Studies} \linebreak
+    \vskip 0.1\baselineskip
+%    \end{macrocode}
+% The original form lacks the spaces around the slash (|/|), but
+% \LaTeX's font and kerning make the second line more compact in our
+% version.  Allowing stretchy spaces around the slash helps the second
+% line look more balanced.
+%    \begin{macrocode}
+    \textbf{\LARGE Dissertation / Thesis Approval Form} \linebreak
+  \end{minipage}
 
-  \vskip0.25in
+  \vskip 2\baselineskip
 
-  \noindent\begin{tabularx}{\hsize}{lX}
-    \textbf{Dissertation/Thesis Title:} & \parbox[t]{\hsize}{\@DUT@title}\\
-    &\\
-    \textbf{Author:} & \@DUT@author
-  \end{tabularx}
+  This form is for use by all doctoral and master's students with a
+  dissertation/thesis requirement.  Please print clearly as the
+  library will bind a copy of this form with each copy of the
+  dissertation/thesis.  All doctoral dissertations must conform to
+  university format requirements, which is the responsibility of the
+  student and supervising professor.  Students should obtain a copy of
+  the Thesis Manual located on the library website.
 
   \vspace*{\fill}
+%    \end{macrocode}
+% Setup $\mbox{tempskipb} = \mbox{left column width}$ and
+% $\mbox{tempskipa} = \mbox{textwidth} - \mbox{tempskipb} -
+% \mbox{4em}$.  The |4em| provides some buffer space between the
+% columns.
+%    \begin{macrocode}
+  \settowidth{\tempskipb}{Dissertation/Thesis Title:}
+  \setlength{\tempskipa}{\textwidth}
+  \addtolength{\tempskipa}{-\tempskipb}
+  \addtolength{\tempskipa}{-4em}
+%    \end{macrocode}
+% Double space the student-contolled section to allow plenty of space
+% for hand-written entries.
+%    \begin{macrocode}
+  \begin{spacing}{2}
+    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l p{\tempskipa}}
+      \textbf{Dissertation/Thesis Title:} & \@DUT@title \\
+      \textbf{Author:} & \@DUT@author
+    \end{tabular*}
 
-  \begin{center}
-    \textbf{This dissertation/thesis is hereby accepted and approved.}
-  \end{center}
+    \vspace*{\fill}
 
-  \vspace*{\fill}
+    \begin{center}
+      \textbf{This dissertation/thesis is hereby accepted and approved.}
+    \end{center}
 
-  \setstretch{1.05}
-  \noindent \textbf{Signatures:}\\
-  Examining Committee\\\ \\
-  \begin{tabularx}{\hsize}{lX}
-    \setbox0=\hbox{\textbf{Dissertation/Thesis Title:}}\hbox to \wd0{Chair\hfill} & \vbox{\hrule\hbox to \hsize{}}\\
-    Members & \vbox{\hrule\hbox to \hsize{}}\\
-            & \vbox{\hrule\hbox to \hsize{}}\\
-            & \vbox{\hrule\hbox to \hsize{}}\\
-            & \vbox{\hrule\hbox to \hsize{}}\\
-            & \vbox{\hrule\hbox to \hsize{}}\\
-    Academic Advisor & \vbox{\hrule\hbox to \hsize{}}\\
-    Department Head & \vbox{\hrule\hbox to \hsize{}}
-  \end{tabularx}
-  \setstretch{1}
+    \vspace*{\fill}
 
-  \vspace*{\fill}
+    \textbf{Signatures:} \\
+    Examining Committee \\
+%    \end{macrocode}
+% The left most column is left blank and the stretchy space between
+% columns indents the middle column.  I think this looks bad, but
+% that's how Drexel's version of the T-1 form looks.
+%    \begin{macrocode}
+    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} p{0pt} l p{\tempskipa}}
+      & Chair            & \hrulefill \\
+      & Members          & \hrulefill \\
+      &                  & \hrulefill \\
+      &                  & \hrulefill \\
+      &                  & \hrulefill \\
+      &                  & \hrulefill \\
+      & Academic Advisor & \hrulefill \\
+      & Department Head  & \hrulefill
+    \end{tabular*}
+
+    \vspace*{\fill}
+  \end{spacing}
 
   \begin{center}\scriptsize
-   Office of Graduate Studies $\bullet$ 3141 Chestnut St. $\bullet$ Randell Hall 240 $\bullet$ Philadelphia, PA 19104\\
-    \textbf{Tel.}: 215-895-0366 $\bullet$ \textbf{Fax}: 215-895-0495 $\bullet$ \textbf{Email}: \url{graduate@drexel.edu} $\bullet$ \textbf{Web}: \url{www.drexel.edu/provost/graduatestudies}
+    Office of Graduate Studies
+    $\bullet$ 3141 Chestnut St.
+    $\bullet$ Randell Hall 240
+    $\bullet$ Philadelphia, PA 19104 \\
+    \textbf{Tel.}: 215-895-0366
+    $\bullet$ \textbf{Fax}: 215-895-0495
+    $\bullet$ \textbf{Email}:
+      \href{mailto:graduate@drexel.edu}{graduate@drexel.edu}
+    $\bullet$ \textbf{Web}:
+      \href{http://www.drexel.edu/provost/graduatestudies/}{%
+                   www.drexel.edu/provost/graduatestudies}
   \end{center}
+  \endgroup
   \pagebreak
 }
 %    \end{macrocode}
 % \changes{0.14}{2010/09/21}{Evan Sultanik added macro.}
 %    \begin{macrocode}
 \newcommand\drexellogobw{
-  \begin{tikzpicture}[y=0.80pt, x=0.8pt,yscale=-1, inner sep=0pt, outer sep=0pt]
+  \begin{tikzpicture}[y=0.8pt, x=0.8pt,yscale=-1, inner sep=0pt, outer sep=0pt]
   \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(-332.5,550.73629)}},]
     \path[fill=black,nonzero rule] (266.0000,367.4100) -- (338.0000,367.4100) --
       (338.0000,440.5890) -- (266.0000,440.5890) -- (266.0000,367.4100) -- cycle;
 % \ref{sec:hypcap-inclusion}).
 %
 %
-% \subsubsection{\pkg{tabularx}}
-% \label{sec:tabularx}
-%
-% \href{http://www.ctan.org/tex-archive/help/Catalogue/entries/tabularx.html}{\pkg{tabularx}}
-% for tabular environments with auto-sized columns.  This package is
-% currently only required for the \texttt{approvalform} option (it is
-% used in typesetting the approval form).
-%    \begin{macrocode}
-\if@approvalform\RequirePackage{tabularx}\fi
-%    \end{macrocode}
-%
-%
 % \subsubsection{\pkg{tikz}}
 % \label{sec:tikz}
 %
 % \href{http://sourceforge.net/projects/pgf/}{\pkg{tikz}}
-% for vector drawing natively in \TeX.  This package is
-% currently only required for the \texttt{approvalform} option (it is
-% used in drawing the Drexel logo on the approval form).
+% for vector drawing natively in \TeX.  This package is currently only
+% required for the \Lopt{approvalform} option (it is used in drawing
+% the Drexel logo on the approval form).
 %    \begin{macrocode}
 \if@approvalform\RequirePackage{tikz}\fi
 %    \end{macrocode}
 % (\file{classes.dtx}, L1796)
 %    \begin{macrocode}
 \newcommand\@DUT@maketitle{
-  \if@approvalform
-    \ifpdf
-      \pdfbookmark[-1]{Approval Form}{Approval Form}
-    \fi
-    \makeapprovalform
-  \fi
   \begin{@DUT@titlepage}%
 %    \end{macrocode}
 % Add some bookmarks if we're using pdf\LaTeX.  The |frontmatter|
   \cleardoublepage
   \@mainmatterfalse
   \pagenumbering{roman}
+  \if@approvalform
+    \ifpdf
+      \pdfbookmark[-1]{Approval Form}{Approval Form}
+    \fi
+    \DUT@makeapprovalform
+  \fi
 %    \end{macrocode}
 % From Manual \S 3.1 p8, ``Title Page''.
 %    \begin{macrocode}
 %   \item redefine |\thesection| to produce alphabetic appendix
 %         numbers. This redefinition is done globally to ensure that it 
 %         survives even if |\appendix| is issued within an environment such
-%         as \texttt{multicols}.
+%         as |multicols|.
 % \end{itemize}
 %
 % In addition to \cls{book}'s (or \pkg{hyperref}'s) activity, we
 %    \begin{macrocode}
 %<*example|example-draft>
 %% See drexel-thesis.pdf for details.
-%<example>\documentclass[subfig,blackref]{drexel-thesis}
+%<example>\documentclass[subfig,blackref,approvalform]{drexel-thesis}
 %<example-draft>\documentclass[draft,subfig]{drexel-thesis}
 
 %% Enter the appropriate information here