\def\fileversion{1.2a}                                                          
\def\filedate{30 Nov 90}                                                        
\def\docdate {26 Feb 90}                                                        
%                                                                               
%% \CheckSum{134}                                                               
%% \CharacterTable                                                              
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z         
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z         
%%   Digits        \0\1\2\3\4\5\6\7\8\9                                         
%%   Exclamation   \!     Double quote  \"     Hash (number) \#                 
%%   Dollar        \$     Percent       \%     Ampersand     \&                 
%%   Acute accent  \'     Left paren    \(     Right paren   \)                 
%%   Asterisk      \*     Plus          \+     Comma         \,                 
%%   Minus         \-     Point         \.     Solidus       \/                 
%%   Colon         \:     Semicolon     \;     Less than     \<                 
%%   Equals        \=     Greater than  \>     Question mark \?                 
%%   Commercial at \@     Left bracket  \[     Backslash     \\                 
%%   Right bracket \]     Circumflex    \^     Underscore    \_                 
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|                 
%%   Right brace   \}     Tilde         \~}                                     
%%                                                                              
%                                                                               
%\iffalse                                                                       
% Style option `A4' to be used with LaTeX V2.09                                 
% Copyright (C) 1990 Johannes Braams, Nico Poppelier. All rights reserved.      
%                                                                               
% Copying of this file is authorized only if either                             
% (1) you make absolutely no changes to your copy, including name, or           
% (2) if you do make changes, you name it something other than                  
%     A4.doc or A4.sty.                                                         
% This restriction helps ensure that all files developed By NTG WG13            
% are identical.                                                                
%                                                                               
% Error reports for UNCHANGED versions please to:                               
%                          J.L. Braams                                          
%                          JL_Braams@pttrnl.nl (Braams@hlsdnl5.bitnet)          
%                      or: N.A.F.M. Poppelier                                   
%                          N.Poppelier@elsevier.nl                              
%                                                                               
% \changes{v1.0}{10 Jan 90}{Changed the margins for one-sided printing}         
% \changes{v1.1}{23 Jan 90}{Added \WideMargins macros}                          
% \changes{v1.2}{26 Feb 90}{Consolidated setting of \marginparwidth}            
% \changes{v1.2a}{30 Nov 90}{replaced \typeout with \wlog}                      
%                                                                               
%\fi                                                                            
%                                                                               
% \title{A style option to adapt the standard \LaTeX\ document                  
%        styles to A4 paper\thanks{This file                                    
%        has version number \fileversion --                                     
%        last revision \filedate, documentation dated \docdate.}}               
%                                                                               
% \author{Nico Poppelier}                                                       
% \address{\TeX nique         \\                                                
%          Washingtondreef 153\\                                                
%          3564 KD Utrecht}                                                     
% \netaddress{Poppelier@hutruu53.bitnet}                                        
% \author{Johannes Braams}                                                      
% \address{PTT Research Neher Laboratories\\                                    
%          P.O. Box 421\\                                                       
%          2260 AK Leidschendam}                                                
% \netaddress{JL_Braams@pttrnl.nl}                                              
%                                                                               
% \date{Printed \today}                                                         
%                                                                               
% \maketitle                                                                    
%                                                                               
% \begin{abstract}                                                              
%   This article describes a new style option that can be used with the         
%   document styles that are distributed with the \LaTeX\ distributions.        
%   It modifies the page layout to conform to the paper format most             
%   commonly used in Europe, portrait A4.                                       
% \end{abstract}                                                                
%                                                                               
% \section{Introduction}                                                        
%                                                                               
% This file is based on the document style options \verb+A4.sty+ and            
% \verb+A4wide.sty+, which can be found in the Rochester style archive.         
% The original style option \verb+A4.sty+ we started from was written by        
% John Pavel, and is dated May 1987. This option only changes the vertical      
% size of the text somewhat, by increasing the number of lines on a page.       
% The style option \verb+A4wide.sty+ was written by Jean-Francois Lamy,         
% and is dated July 1986. This option only increases the width of the text.     
%                                                                               
% \section{Goals and design decisions}                                          
%                                                                               
% As many people before us, we found the page layout as implemented in the      
% standard \LaTeX\ document styles too much geared towards the                  
% American-sized paper, which is somewhat wider than A4 paper, but also         
% noticeably less high.                                                         
%                                                                               
% Our goal was to get a page layout that was suitable for A4 paper, and         
% produced legible texts. There are a number of layout parameters that          
% influence the legibility of a text. A parameter of major importance is        
% the number of words (or characters) on a line. The maximum number of          
% words per line is ten to twelve for optimal legibility, a rule-of-thumb       
% that can be found in typographic literature (we used~\cite{treebus}).         
% This results in a number of characters per line which lies somewhere          
% between sixty and seventy.                                                    
%                                                                               
% Another important parameter is the amount of white space surrounding the      
% text. Here we have to distinguish between texts that are printed              
% one-sided and texts that are printed two-sided (back to back). In the         
% first case the margins on odd and even pages should be equal; in the          
% latter case care should be taken that the texts on both sides of the          
% paper overlap.                                                                
% Also a printed document is likely to be bound some way or another, so         
% there should be enough white space in the `inner' margin\footnote{For         
% two-sided printing, this is the left margin on odd-numbered pages and the     
% right margin on even-numbered ones; for one-sided printing, this is           
% always the left margin.} of the text to allow this.                           
%                                                                               
% There is yet one more thing to take into account when designing a page        
% layout. \LaTeX\ offers the possibility of using marginal notes and if         
% someone wants to use marginal notes, they should of course fit on             
% the paper.                                                                    
%                                                                               
% So, we have the following goals:                                              
% \begin{enumerate}                                                             
% \item Choose the text width such that there will be sixty to seventy          
%       characters on a line;                                                   
% \item See to it that in documents that are printed two-sided, the             
%       texts which end up on two sides of one sheet of paper overlap;          
% \item Leave enough white space in the `inner' margin to allow for             
%       the binding of the document;                                            
% \item Leave enough white space in the `outer' margin                          
%       for marginal notes if they are going to be used.                        
% \end{enumerate}                                                               
%                                                                               
%                                                                               
% \section{The implementation}                                                  
%                                                                               
% \subsection{The starting point}                                               
%                                                                               
% Thus we set out to modify some of the design decisions in the standard        
% document styles. Because we knew that we were not the first to tackle         
% the problem, we started by having a look at what was already available.       
% We came up with the two options mentioned earlier, which are publicly         
% available. Undoubtedly there will exist many more such files, some of         
% them maybe modifications of those two files.                                  
%                                                                               
% We had a look at the layout produced by both options and were not             
% satisfied with it. For one thing, both of the original options \verb+A4+      
% and \verb+A4wide+ modify only one aspect of the page layout. The first        
% thing to do was to put these two files together. This resulted in a           
% layout which was still unsatisfactory, since for the 10-point and             
% 11-point options lines in the text contained on the average eighty            
% characters or more.                                                           
%                                                                               
% \subsection{What else?}                                                       
%                                                                               
% \DescribeMacro\textwidth                                                      
% \DescribeMacro\marginparwidth                                                 
% Because the result so far gave us lines that contained too many               
% characters, we decreased the \verb+\textwidth+ to get lines that              
% contain about sixty to seventy characters for all three size options.         
% Still more work had to be done. As it turned out, using our new               
% \verb+A4.sty+ together with the option \verb+twosided+ had a drawback:        
% when the document was printed two-sided the texts on both side of one         
% piece of paper overlapped only partly, which does not look good. We           
% solved this by modifying the width of the margins for two-sided               
% printing. At the same time we modified the \verb+\marginparwidth+ so          
% that if someone uses a marginal note it would completely fit on the           
% paper instead of falling off the page, which obviously would render           
% the note unreadable.                                                          
%                                                                               
% \DescribeMacro\WideMargins                                                    
% The decisions described above allow for marginal notes to be printed          
% along with the normal text, but if someone makes heavy use of marginal        
% notes, the resultant layout will not be very satisfactory, because if         
% the full width of the marginal notes is used, they will take up too           
% much space in the `outer' margin. For this case we provide the macro          
% \verb+\WideMargins+. This macro modifies the page-layout parameters in        
% such a way that the width reserved for marginal notes becomes 1.5             
% inches. To achieve this the width of the main body of the text is             
% decreased. This macro is meant to be used only in the preamble of the         
% document.                                                                     
%                                                                               
%\StopEventually{                                                               
% \section{Conclusion}                                                          
%                                                                               
% We have presented a new approach to adapt the page layout of the              
% document styles that are part of the standard \LaTeX\ distributions to        
% the dimensions of A4 paper. The width of marginal notes has been taken        
% into account and a means to get wider marginal notes at the cost of           
% shorter lines in the main body of the text has been provided.                 
%                                                                               
% \begin{thebibliography}{9}                                                    
%   \bibitem{treebus} K.F. Treebus.                                             
%   {\em Tekstwijzer, een gids voor het grafisch verwerken van tekst.}          
%   SDU Uitgeverij ('s-Gravenhage, 1988). A Dutch book on layout                
%   design and typography.                                                      
% \end{thebibliography}                                                         
%                                                                               
% \makesignature                                                                
% }                                                                             
%                                                                               
% \subsection{The code}                                                         
%                                                                               
% We begin by identifying the version of this file on the terminal and          
% in the transcript file.                                                       
%    \begin{macrocode}                                                          
\wlog{Style option `A4' \fileversion\space<\filedate> (NP and JLB)}             
\wlog{English documentation\space\space\space<\docdate> (JLB)}                  
%    \end{macrocode}                                                            
%                                                                               
% \begin{macro}{\topmargin}                                                     
% First, we redefine the \verb+\textheight+ and \verb+\topmargin+. The          
% \verb+\topmargin+ is the distance from the reference point on the page        
% to the top of the page of text. In most cases extra white space is not        
% necessary since one inch of white space at the top of the page suffices.      
%    \begin{macrocode}                                                          
\topmargin 0pt                                                                  
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\textheight}                                                    
% The dimension parameter \verb+\textheight+ gives the total height of the      
% text, including footnotes and figures, excluding the running head and         
% foot. This height is given as an integral number times the                    
% \verb+\baselineskip+, which results in an integral number of lines on a       
% page.                                                                         
%                                                                               
% \noindent                                                                     
% We have to include definitions of all relevant dimension parameters for       
% each of the cases 10-point, 11-point and 12-point. We do this with a          
% case statement:                                                               
%                                                                               
%    \begin{macrocode}                                                          
\ifcase \@ptsize                                                                
    \textheight 53\baselineskip                                                 
%    \end{macrocode}                                                            
% \noindent                                                                     
% which modifies the height of the text for texts to be produced                
% with the ten-point typeface:                                                  
%    \begin{macrocode}                                                          
\or                                                                             
    \textheight 46\baselineskip                                                 
%    \end{macrocode}                                                            
% \noindent                                                                     
% the same for eleven point:                                                    
%    \begin{macrocode}                                                          
\or                                                                             
    \textheight 42\baselineskip                                                 
%    \end{macrocode}                                                            
% \noindent                                                                     
% and for twelve point. Finally we close the \verb+\ifcase+ statement:          
%    \begin{macrocode}                                                          
\fi                                                                             
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
% The only thing left to be done is to add the \verb+\topskip+ to               
% the \verb+\textheight+.                                                       
% The value of \verb+\topskip+ appears always to be 10pt.                       
%                                                                               
%    \begin{macrocode}                                                          
\advance\textheight by \topskip                                                 
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\textwidth}                                                     
% \begin{macro}{\oddsidemargin}                                                 
% \begin{macro}{\evensidemargin}                                                
% That was the `vertical part' of the work. Now we have some work to do         
% to get things right horizontally. Again we have to distinguish between        
% the various character sizes because sixty eleven-point characters take        
% up more space than sixty ten-point characters. But there's more to            
% take into account. If documents are printed two-sided, the texts on           
% both sides of the paper should overlap completely. This can be done be        
% assigning appropriate values to \verb+\oddsidemargin+ and                     
% \verb+\evensidemargin+, the parameters that define the left margins on        
% odd and even pages respectively.                                              
%                                                                               
% \noindent                                                                     
% First we start a case statement to distinguish between the various            
% typeface sizes.                                                               
%    \begin{macrocode}                                                          
\ifcase \@ptsize                                                                
%    \end{macrocode}                                                            
% Then we specify the width of the text.                                        
%    \begin{macrocode}                                                          
    \textwidth      5.00in                                                      
%    \end{macrocode}                                                            
% \noindent                                                                     
% Also specify the width of marginal notes. They must have a                    
% reasonable width to be of any use, and this should be the same for            
% either one-sided or two-sided printing.                                       
%    \begin{macrocode}                                                          
    \marginparwidth 1.00in                                                      
%    \end{macrocode}                                                            
% \noindent                                                                     
% Here we need an if statement to test whether the option \verb+twosided+       
% has been specified.                                                           
%    \begin{macrocode}                                                          
  \if@twoside                                                                   
%    \end{macrocode}                                                            
% \noindent                                                                     
% If it was, assign appropriate values to the margin parameters                 
%    \begin{macrocode}                                                          
    \oddsidemargin  0.55in                                                      
    \evensidemargin 0.75in                                                      
  \else                                                                         
%    \end{macrocode}                                                            
% \noindent                                                                     
% If the option \verb+twosided+ was not used, both margin parameters            
% must have the same value, for texts on consecutive pages have to              
% be put in the same place on the paper.                                        
%    \begin{macrocode}                                                          
    \oddsidemargin  0.55in                                                      
    \evensidemargin 0.55in                                                      
%    \end{macrocode}                                                            
% \noindent                                                                     
% Now we close the if statement.                                                
%    \begin{macrocode}                                                          
  \fi                                                                           
%    \end{macrocode}                                                            
% \noindent                                                                     
% We are ready with the modifications for the ten-point typeface size, so       
% now we do something similar for the eleven-point typeface.                    
%    \begin{macrocode}                                                          
\or                                                                             
    \textwidth      5.20in                                                      
    \marginparwidth 1.00in                                                      
  \if@twoside                                                                   
    \oddsidemargin  0.45in                                                      
    \evensidemargin 0.65in                                                      
  \else                                                                         
    \oddsidemargin  0.45in                                                      
    \evensidemargin 0.45in                                                      
  \fi                                                                           
%    \end{macrocode}                                                            
% \noindent                                                                     
% One more time, now for the twelve-point typeface.                             
%    \begin{macrocode}                                                          
\or                                                                             
    \textwidth      5.70in                                                      
    \marginparwidth 0.80in                                                      
  \if@twoside                                                                   
    \oddsidemargin  0.20in                                                      
    \evensidemargin 0.40in                                                      
  \else                                                                         
    \oddsidemargin  0.20in                                                      
    \evensidemargin 0.20in                                                      
  \fi                                                                           
%    \end{macrocode}                                                            
% \noindent                                                                     
% Finally we close the case statement.                                          
%    \begin{macrocode}                                                          
\fi                                                                             
%    \end{macrocode}                                                            
% \end{macro}                                                                   
% \end{macro}                                                                   
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\WideMargins}                                                   
%    This macro is somewhat tricky: it has to find out                          
%    which typeface size is used, whether the document should be printed        
%    two-sided, and whether the \verb+\reversemarginpar+ is in effect.          
%    \verb+\reversemarginpar+ makes the marginal notes appear in the            
%    margin on the opposite side of the normal placement.                       
%    \begin{macrocode}                                                          
\def\WideMargins{%                                                              
%    \end{macrocode}                                                            
% \noindent                                                                     
%    Because for each typeface size the changes to the parameters that          
%    need to be made are similar, the macro \verb+\WideMargins+                 
%    uses an internal macro \verb+\@widemargins+.                               
%                                                                               
% \begin{macro}{\ExtraWidth}                                                    
%    In order to store the amount of extra width needed for the marginal        
%    notes an extra dimension parameter is defined.                             
%                                                                               
%    \begin{macrocode}                                                          
  \newdimen\ExtraWidth                                                          
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \noindent                                                                     
%    First find out about the point size, then call \verb+\@widemargins+ to     
%    modify the margin widths by the amount given in \verb+\ExtraWidth+.        
%    \begin{macrocode}                                                          
  \ifcase \@ptsize                                                              
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    For both 10-point and 11-point texts the width for marginal notes is       
%    already 1 inch, so we increase it by half an inch. We subtract half an     
%    inch from the text width and modify the margins appropriately.             
%                                                                               
%    \begin{macrocode}                                                          
    \ExtraWidth = 0.5in                                                         
    \@widemargins                                                               
  \or                                                                           
    \ExtraWidth = 0.5in                                                         
    \@widemargins                                                               
  \or                                                                           
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    For 12-point texts the marginal notes are only 0.8 inch wide, so           
%    now we have to add 0.7 inch to get them 1.5 inch wide.                     
%                                                                               
%    \begin{macrocode}                                                          
    \ExtraWidth = 0.7in                                                         
    \@widemargins                                                               
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    This macro should only be called once, during the preamble of a            
%    document, so we \verb+\let+ it be equal to \verb+\relax+ as soon           
%    as the work is done.                                                       
%    \begin{macrocode}                                                          
  \fi\let\WideMargins\relax\let\@widemargins\relax}                             
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\@preamblecmds}                                                 
%    We add \verb+\WideMargins+ to \verb+\@preamblecmds+, which is a            
%    list of commands to be used only in the preamble of a document.            
%                                                                               
%    \begin{macrocode}                                                          
{\def\do{\noexpand\do\noexpand}                                                 
 \xdef\@preamblecmds{\@preamblecmds \do\WideMargins}                            
}                                                                               
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\@widemargins}                                                  
%    This macro modifies the margin parameters. To do this it uses              
%    the dimension variable \verb+\ExtraWidth+, which was defined by            
%    \verb+\WideMargins+.                                                       
%                                                                               
% \noindent                                                                     
%    First the \verb+\ExtraWidth+ is subtracted from the \verb+\textwidth+      
%    and added to the \verb+\marginparwidth+.                                   
%    \begin{macrocode}                                                          
\def\@widemargins{%                                                             
    \global\advance\textwidth by -\ExtraWidth                                   
    \global\advance\marginparwidth by \ExtraWidth                               
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    Then we modify the margins, but the value of the switch                    
%    \verb+\if@twoside+ has to be taken into account. Because                   
%    we have to test another switch (\verb+\if@reversemargin+)                  
%    we add another level of macros to modify the margin parameters%            
%                                                                               
%    \begin{macrocode}                                                          
    \if@twoside                                                                 
      \tw@sidedwidemargins                                                      
    \else                                                                       
      \@nesidedwidemargins                                                      
    \fi}                                                                        
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\tw@sidedwidemargins}                                           
%    Normally the marginal notes are printed in the `outer' margins, so         
%    we have to increase the \verb+\evensidemargin+ to keep the text            
%    balanced on both sides of the paper, but if \verb+\reversemarginpar+       
%    is in effect we have to increase the \verb+\oddsidemargin+ and             
%    decrease the \verb+\evensidemargin+ accordingly.                           
%                                                                               
%    \begin{macrocode}                                                          
\def\tw@sidedwidemargins{%                                                      
    \if@reversemargin                                                           
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    Notice that for documents printed two-sided, the                           
%    \verb+\evensidemargin+ is wider than the \verb+\oddsidemargin+;            
%    this difference in width is transferred to the other margin.               
%                                                                               
%    \begin{macrocode}                                                          
      \@tempdima=\evensidemargin                                                
      \advance\@tempdima by -\oddsidemargin                                     
      \advance\oddsidemargin by \ExtraWidth                                     
      \advance\oddsidemargin by \@tempdima                                      
      \advance\evensidemargin by -\@tempdima                                    
    \else                                                                       
%    \end{macrocode}                                                            
%                                                                               
% \noindent                                                                     
%    If the marginal notes go on the normal side of the paper, only the         
%    \verb+\evensidemargin+ has to be increased.                                
%                                                                               
%    \begin{macrocode}                                                          
      \advance\evensidemargin by \ExtraWidth                                    
    \fi}                                                                        
%    \end{macrocode}                                                            
% \end{macro}                                                                   
%                                                                               
% \begin{macro}{\@nesidedwidemargins}                                           
%    For documents that are printed one-sided, both margins have the same       
%    width. The default placement for the marginal notes is in the right        
%    margin, so if \verb+\reversemarginpar+ is {\em not\/} in effect the        
%    margin parameters need not be modified. If it is in effect, both the       
%    \verb+\oddsidemargin+ and the \verb+\evensidemargin+ need to be            
%    increased.                                                                 
%                                                                               
%    \begin{macrocode}                                                          
\def\@nesidedwidemargins{%                                                      
    \if@reversemargin                                                           
      \advance\oddsidemargin by \ExtraWidth                                     
      \advance\evensidemargin by \ExtraWidth                                    
    \fi}                                                                        
%    \end{macrocode}                                                            
%    \end{macro}                                                                
%                                                                               
% \Finale                                                                       
\endinput                                                                       
