%   SETSTRUT.TEX   Automatic strut computation                                  
%   by Stephan v.\ Bechtolsheim   1987                                          
% Save the current value of \baselineskip here for strut handling               
\newdimen\strutskip                                                             
                                                                                
% \setstrut                                                                     
% =========                                                                     
% Compute \strut as a \vrule of                                                 
%   width: 0                                                                    
%   height: 70% of the current value of \baselinekip                            
%   depth: the remaining 30% of \baselineskip.                                  
\def\setstrut {%                                                                
    \strutskip = \baselineskip                                                  
    \ifdim\baselineskip < 0pt                                                   
         \errhelp = {You probably called \string\offinterlineskip               
              before \string\setstrut}                                          
         \errmessage{\string\setstrut: negative                                 
              \string\baselineskip (\the\baselineskip)}%                        
    \fi                                                                         
}                                                                               
                                                                                
% \strut                                                                        
% ======                                                                        
% The strut                                                                     
\def\strut {%                                                                   
    \vrule height 0.7\strutskip                                                 
         depth 0.3\strutskip                                                    
         width 0pt                                                              
}                                                                               
                                                                                
% \higherstrut                                                                  
% ============                                                                  
% Generate a strut, which is higher by #1 than the usual strut.                 
% The depth is the depth of \strut.                                             
% #1: dimension, by which the strut is made higher                              
\def\higherstrut #1{%                                                           
    {%                                                                          
         \dimen0 = 0.7\strutskip                                                
         \advance\dimen0 by #1%                                                 
         \vrule height \dimen0 depth 0.3\strutskip width 0pt                    
    }%                                                                          
}                                                                               
                                                                                
% \deeperstrut                                                                  
% ============                                                                  
% Generate a strut, which is deeper by #1 than the usual strut.                 
% the height is the height of \strut.                                           
% #1: dimension, by wghich the strut is made deeper.                            
\def\deeperstrut #1{%                                                           
    {%                                                                          
         \dimen0 = 0.3\strutskip                                                
         \advance\dimen0 by #1%                                                 
         \vrule height 0.7\strutskip depth \dimen0 width 0pt                    
    }%                                                                          
}                                                                               
                                                                                
% Initialize in case the user forgets to set up a strut                         
\setstrut