summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-09-16 00:07:34 +0000
committerKarl Berry <karl@freefriends.org>2007-09-16 00:07:34 +0000
commitd85f248e3b38ea0ecda38c5340e3cadd08d65346 (patch)
tree52e17f32b395006895b3917bc7729c7ac1514ae3 /Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
parent2389552f283181e0d8c610037712ade989112da3 (diff)
oberdiek update (14sep07)
git-svn-id: svn://tug.org/texlive/trunk@4947 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex')
-rw-r--r--Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex365
1 files changed, 365 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex b/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
new file mode 100644
index 00000000000..d43dc88aa01
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex
@@ -0,0 +1,365 @@
+%%
+%% This is file `soulutf8-test2.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% soulutf8.dtx (with options: `test2,utf8')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. 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.
+%%
+%% 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]
+\usepackage[utf8]{inputenc}
+\DeclareUnicodeCharacter{00A0}{\nobreakspace}
+\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
+ }%
+ \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-test2.tex'.