diff options
author | Karl Berry <karl@freefriends.org> | 2007-09-16 00:07:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2007-09-16 00:07:34 +0000 |
commit | d85f248e3b38ea0ecda38c5340e3cadd08d65346 (patch) | |
tree | 52e17f32b395006895b3917bc7729c7ac1514ae3 /Master/texmf-dist/doc/latex/oberdiek/soulutf8-test2.tex | |
parent | 2389552f283181e0d8c610037712ade989112da3 (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.tex | 365 |
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'. |