%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Makroer for å finne ut hvor mange bokstaver et ord inneholder, 
% og hvor mange delord det rommer, både totalt og av lengde > 1.
% 
% Syntaks:
% 	\tellbokstaver testord\end
% gir følgende skjermmelding:
%	Antall bokstaver er 7,
%  		antall delord er 44, antall delord med lengde > 1 er 35.
%
% NB: Hvis argumentet for \tellbokstaver består av flere ord,
% skilt av ordmellomrom, vil de bli slått sammen og oppfattet
% som ett ord!
%
% Ole Michael Selberg, 22.12.2003
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\ifatletter \newlinechar=`^^J 
\ifnum\catcode64=11 \atlettertrue\else\catcode64=11 \fi
\newcount\bokst@vcount \bokst@vcount=1 
\newcount\@rdlengde \newcount\del@rdantall
\newcount\del@rd@ntall
\def\bokst@vantall{\immediate\write16{^^JAntall bokstaver
      er \number\bokst@vcount,}}
\def\tellbokstaver #1#2\end{\def\aux{#2}%
   \ifx\empty\aux\bokst@vantall 
       \ordlengde \bokst@vcount \bokst@vcount=1 
        \else\advance \bokst@vcount by1 
                 \tellbokstaver#2\end\fi}                 
\def\@tverrsum{\advance\del@rdantall by  \@rdlengde }
\def\ordlengde #1{\@rdlengde=#1 \advance\@rdlengde by 1
           \count255=\@rdlengde \advance \count255 by1
           \del@rdantall=\@rdlengde
           \loop \@tverrsum
              \ifnum\@rdlengde>1
               \advance\@rdlengde by-1
           \repeat
 \del@rd@ntall=\del@rdantall\advance\del@rd@ntall-\count255 
 \immediate\write16{\space\space\space 
             antall delord er \number\del@rdantall,
             antall delord med lengde > 1 er 
             \number\del@rd@ntall.}}
\ifatletter\else\catcode64=13 \fi
\endinput

                
