%% %% This is file `soulutf8-test3.tex', %% generated with the docstrip utility. %% %% The original source files were: %% %% soulutf8.dtx (with options: `test3,utf8x') %% %% This is a generated file. %% %% Project: soulutf8 %% Version: 2007/09/09 v1.0 %% %% Copyright (C) 2007 by %% Heiko Oberdiek %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% http://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% This Current Maintainer of this work is Heiko Oberdiek. %% %% The Base Interpreter refers to any `TeX-Format', %% because some files are installed in TDS:tex/generic//. %% %% This work consists of the main source file soulutf8.dtx %% and the derived files %% soulutf8.sty, soulutf8.pdf, soulutf8.ins, soulutf8.drv, %% soulutf8-test1.tex, soulutf8-test2.tex, soulutf8-test3.tex, %% soulutf8-test4.tex, soulutf8-test5.tex. %% \NeedsTeXFormat{LaTeX2e} \documentclass{article} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{textcomp} \usepackage[ngerman]{babel} \expandafter\def\csname ver@hypdestopt.sty\endcsname{} \usepackage[unicode]{hyperref} \usepackage{bookmark} \usepackage{color} \usepackage{soul}[2003/11/17] \makeatletter \newcommand*{\@ifDefined}[1]{% \@ifundefined{#1}{% \@latex@error{% \expandafter\noexpand\csname#1\endcsname undefined% }\@ehc }% } \newcommand*{\SaveOrg}[1]{% \@ifdefinable{ORG@SOUL@#1}{% \@ifDefined{SOUL@#1}{% \expandafter\let\csname ORG@SOUL@#1\expandafter\endcsname \csname SOUL@#1\endcsname }% }% } \newcommand*{\RestoreOrg}[1]{% \@ifDefined{ORG@SOUL@#1}{% \@ifDefined{SOUL@#1}{% \expandafter\let\csname SOUL@#1\expandafter\endcsname \csname ORG@SOUL@#1\endcsname }% }% } \makeatother \SaveOrg{eval} \SaveOrg{splittoken} \SaveOrg{flushcomma} \SaveOrg{flushapo} \SaveOrg{grave} \SaveOrg{addgroup} \SaveOrg{addmath} \SaveOrg{addprotect} \SaveOrg{addtoken} \usepackage{soulutf8}[2007/09/09] \let\origshow\show \usepackage[utf8x]{inputenc} \AtBeginDocument{% \let\show\origshow } \makeatletter \DeclareRobustCommand*{\an}{% \def\SOUL@preamble{$^{^P}$}% \def\SOUL@everyspace##1{##1\texttt{\char`\ }\linebreak[2]}% \def\SOUL@postamble{$^{^E}$}% \def\SOUL@everyhyphen{$^{^-}$\linebreak[1]}% \def\SOUL@everyexhyphen##1{##1$^{^=}$}% \def\SOUL@everysyllable{$^{^S}$}% \def\SOUL@everytoken{\the\SOUL@token$^{^T}$}% \def\SOUL@everylowerthan{$^{^L}$}% \SOUL@ } \DeclareRobustCommand*{\sy}{% \SOUL@setup \def\SOUL@preamble{% \lefthyphenmin=\z@ \righthyphenmin=\z@ }% \def\SOUL@everyspace##1{##1\space}% \def\SOUL@everysyllable{\the\SOUL@syllable}% \def\SOUL@everyhyphen{% \discretionary{% \SOUL@setkern\SOUL@hyphkern \SOUL@sethyphenchar }{}{% \hbox{\kern1pt$\cdot$}% }% }% \def\SOUL@everyexhyphen##1{% \SOUL@setkern\SOUL@hyphkern \hbox{##1}% \discretionary{}{}{% \SOUL@setkern\SOUL@charkern }% }% \SOUL@ } \DeclareRobustCommand*{\soulH}{% \def\SOUL@preamble{% \gdef\SOULH{}% \soulHadd{[}% }% \def\SOUL@everyspace##1{% \soulHadd{Sp}% }% \def\SOUL@postamble{% \soulHadd{]}% }% \def\SOUL@everyhyphen{% \soulHadd{Hy}% }% \def\SOUL@everyexhyphen##1{% \soulHadd{Exhy}% }% \def\SOUL@everysyllable{% \soulHadd{Sy}% }% \def\SOUL@everytoken{% \soulHadd{T}% }% \def\SOUL@everylowerthan{% \soulHadd{<}% }% \SOUL@ } \newcommand*{\soulHadd}[1]{% #1% \expandafter\gdef\expandafter\soulHstring\expandafter{% \soulHstring #1% }% } \usepackage{qstest} \IncludeTests{*} \LogTests{log}{*}{*} \newsavebox\boxA \newsavebox\boxB \newsavebox\boxC \newcommand*{\TestDriver}[4]{% \subsection{Driver #1}% \@PackageInfo{soulutf8-test}{* Driver #1}% \expandafter\let\expandafter\testdriver\csname #1\endcsname \def\teststringA{#3}% \def\teststringB{#4}% \begin{qstest}{string-#2-driver-#1}{string,#2,driver,#1}% \@PackageInfo{soulutf8-test}{* Version: soulutf8}% \global\let\soulHstring\@empty \setbox0=\hbox{\expandafter\testdriver\expandafter{\teststringA}}% \let\HstringA\soulHstring \SetTestVBox{\boxA}{\teststringA}% % \@PackageInfo{soulutf8-test}{* Version: soul + patch}% \global\let\soulHstring\@empty \RestoreOrg{eval}% \setbox2=\hbox{\expandafter\testdriver\expandafter{\teststringB}}% \let\HstringB\soulHstring \SetTestVBox{\boxB}{\teststringB}% % \@PackageInfo{soulutf8-test}{* Version: original soul}% \global\let\soulHstring\@empty \RestoreOrg{splittoken}% \RestoreOrg{flushcomma}% \RestoreOrg{flushapo}% \RestoreOrg{grave}% \RestoreOrg{addgroup}% \RestoreOrg{addmath}% \RestoreOrg{addprotect}% \RestoreOrg{addtoken}% \setbox4=\hbox{\expandafter\testdriver\expandafter{\teststringB}}% \let\HstringC\soulHstring \SetTestVBox{\boxC}{\teststringB}% % \TestInfo{0}{soulutf8}% \TestInfo{2}{soul + patch}% \TestInfo{4}{original soul}% \TestInfoVBox \showboxdepth=\maxdimen \showboxbreadth=\maxdimen \tracingonline=\@ne \Expect*{\HstringA}*{\HstringB}% \Expect*{\HstringA}*{\HstringC}% \Expect*{\the\wd0}*{\the\wd2}% \ifdim\wd0=\wd2 % \else \showbox0 % \showbox2 % \fi \Expect*{\the\ht0}*{\the\ht2}% \Expect*{\the\dp0}*{\the\dp2}% \Expect*{\the\wd\boxB}*{\the\wd\boxA}% \Expect*{\the\wd\boxC}*{\the\wd\boxA}% \Expect*{\the\ht\boxB}*{\the\ht\boxA}% \ifdim\ht\boxB=\ht\boxA \else \showbox\boxA \showbox\boxB \fi \Expect*{\the\ht\boxC}*{\the\ht\boxA}% \Expect*{\the\dp\boxB}*{\the\dp\boxA}% \Expect*{\the\dp\boxC}*{\the\dp\boxA}% \end{qstest}% } \newcommand*{\SetTestVBox}[2]{% \setbox#1=\vbox{% \hsize=0pt\relax \hfuzz=100mm\relax \expandafter\testdriver\expandafter{#2}% }% } \newcommand*{\TestInfo}[2]{% \par \noindent \copy#1\relax \hfill \begingroup \small \ifdim\wd0=\wd2\relax \ifdim\wd0=\wd4\relax \else \ifnum#1=2 % \raisebox{.5\baselineskip}[0pt][0pt]{% \llap{$\}$ }% \rlap{width = \the\wd#1\relax\space$\{$}% \phantom{width = 999.99999pt}% \qquad }% \else \ifnum#1=4 % \rlap{width = \the\wd#1}% \phantom{width = 999.99999pt}% \qquad \fi \fi \fi \else \begingroup \bfseries \rlap{width = \the\wd#1}% \phantom{width = 999.99999pt}% \endgroup \qquad \fi \rlap{(#2)}% \phantom{(original soul)}% \endgroup \par } \newcommand*{\TestInfoVBox}{% \par \noindent \mbox{\vrule\relax\space\copy\boxA}% \ifdim\ht\boxA=\ht\boxB \else \hfill \begingroup \small \rlap{(soulutf8)}% \phantom{(soulutf8)}% \endgroup \par \noindent \mbox{\vrule\relax\space\copy\boxB}% \hfill \begingroup \small \rlap{(soul)}% \phantom{(soulutf8)}% \endgroup \fi \par } \makeatletter \newcommand*{\Test}[3]{% \clearpage \begingroup \def\linebreak{\textbackslash linebreak }% \def\\{\textbackslash\textbackslash}% \def\soulomit##1{% \textbackslash soulomit\textbraceleft##1\textbraceright }% \def\mbox##1{% \textbackslash mbox\textbraceleft##1\textbraceright }% \def\abc{\textbackslash abc }% \def\texttt##1{% \textbackslash texttt\textbraceleft##1\textbraceright }% \def\c##1{% \textbackslash c\textbraceleft##1\textbraceright }% \count@=128 % \loop \ifnum\count@<256 % \lccode`\~=\count@ \lowercase{% \def~{\noexpand~}% }% \advance\count@\@ne \repeat \csname protected@edef\endcsname\x{\endgroup \noexpand\section{String #1: #2}% }% \x \TestDriver{so}{#1}{#2}{#3}% \TestDriver{caps}{#1}{#2}{#3}% \TestDriver{ul}{#1}{#2}{#3}% \TestDriver{st}{#1}{#2}{#3}% \TestDriver{hl}{#1}{#2}{#3}% \TestDriver{an}{#1}{#2}{#3}% \TestDriver{sy}{#1}{#2}{#3}% \TestDriver{soulH}{#1}{#2}{#3}% } \makeatother \begin{document} \Test A{}{}% \Test B{Hello World}{Hello World}% \Test C{% Umlauts: ^^c3^^84^^c3^^96^^c3^^9c^^c3^^a4^^c3^^b6^^c3^^bc^^c3^^9f% }{% Umlauts: \"A\"O\"U\"a\"o\"u\ss }% \Test D{Euro: ^^e2^^82^^ac}{Euro: \texteuro}% \Test E{Stra^^c3^^9fe}{Stra\ss e}% \Test F{R^^c3^^b6mer}{R\"omer}% \Test G{A^^e2^^80^^93B^^e2^^80^^94C}{A--B---C}% \Test H{X^^c2^^a0Y}{X~Y}% \Test I{A^^c5^^a4}{A\v T}% \Test J{A,B,,C,,,D,,,,E}{A,B,,C,,,D,,,,E}% \Test K{A'B''C'''D''''E}{A'B''C'''D''''E}% \Test L{A`B``C```D````E}{A`B``C```D````E}% \Test M{A$x$B}{A$x$B}% \Test N{A\mbox{abc}B}{A\mbox{abc}B}% \Test O{,,TA''}{,,TA''}% \Test P{{!`}Hola{?`}}{{!`}Hola{?`}}% \Test Q{re-sent\slash x}{re-sent\slash x}% \Test R{new\\line}{new\\line}% \Test S{foo\linebreak bar}{foo\linebreak bar}% \Test T{Virchow{sche}}{Virchow{sche}}% \Test U{A\soulomit{foo}B}{A\soulomit{foo}B}% \Test V{A\texttt{xyz}B}{A\texttt{xyz}B}% \Test W{ffi}{ffi}% \Test X{f{}f{}i}{f{}f{}i}% \Test Y{f\mbox{}f\mbox{}i}{f\mbox{}f\mbox{}i}% \Test Z{\c{\"a}}{{\c{\"a}}}% \let\abcx\UNDEFINED \def\abc{% \begingroup \def\abcx{x}% \abcx \endgroup }% \Test{AA}{[{x\abc x}]}{[{xxx}]}% \end{document} \endinput %% %% End of file `soulutf8-test3.tex'.