1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
%%
%% This is file `ltxcmds-test-ifboxempty.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ltxcmds.dtx (with options: `test-ifboxempty')
%%
%% This is a generated file.
%%
%% Copyright (C) 2009-2011 by
%% Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%%
%% 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 ltxcmds.dtx
%% and the derived files
%% ltxcmds.sty, ltxcmds.pdf, ltxcmds.ins, ltxcmds.drv,
%% ltxcmds-test1.tex, ltxcmds-test-gobble.tex,
%% ltxcmds-test-ifempty.tex, ltxcmds-test-zapspace.tex,
%% ltxcmds-test-ifboxempty.tex, ltxcmds-test-nextchar.tex.
%%
\catcode`\{=1 %
\catcode`\}=2 %
\catcode`\#=6 %
\catcode`\@=11 %
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input ltxcmds.sty\relax
\else
\RequirePackage{ltxcmds}[2011/04/14]%
\fi
\def\msg#{\immediate\write16}
% make box 0 void
\begingroup
\setbox0=\box0 %
\endgroup
\ifvoid0 %
\else
\errmessage{Voiding box 0 failed}%
\fi
\setbox2=\box0 %
\def\test#1#2{%
\@test{#1}{#2}%
\@@test{#1}{#2}%
\chardef\x=#1%
\@test\x{#2}%
\@@test\x{#2}%
}
\def\@test#1#2{%
\begingroup
\setbox9=\hbox{%
\def\TestExpected{#2}%
\ltx@IfBoxEmpty{#1}{%
\def\TestResult{Y}%
}{%
\def\TestResult{N}%
}%
\ifx\TestExpected\TestResult
\msg{* Test passed.}%
\else
\errmessage{Test failed!}%
\fi
}%
\ifdim\wd9=0pt %
\else
\errmessage{Unwanted space?}%
\fi
\endgroup
}
\def\@@test#1#2{%
\begingroup
\setbox9=\hbox{%
\def\TestExpected{#2}%
\ifvoid#1\def\TestExpected{Y}\fi
\ltx@IfBoxVoidOrEmpty{#1}{%
\def\TestResult{Y}%
}{%
\def\TestResult{N}%
}%
\ifx\TestExpected\TestResult
\msg{* Test passed.}%
\else
\errmessage{Test failed!}%
\fi
}%
\ifdim\wd9=0pt %
\else
\errmessage{Unwanted space?}%
\fi
\endgroup
}
\test0N
\test2N
\setbox0=\hbox{}
\test0Y
\setbox2=\hbox{}
\test2Y
\setbox0=\vbox{}
\test0Y
\setbox2=\vbox{}
\test0Y
\setbox0=\hbox{ }%
\test0N
\setbox2=\hbox{ }%
\test2N
\setbox0=\hbox{\penalty1}%
\test0N
\setbox2=\hbox{\penalty1}%
\test2N
\csname @@end\endcsname\end
\endinput
%%
%% End of file `ltxcmds-test-ifboxempty.tex'.
|