f4708def02c77e96dbbea831c9086d41bdd6be00
[pspp] / tests / output / tex.at
1 dnl PSPP - a program for statistical analysis.
2 dnl Copyright (C) 2020 Free Software Foundation, Inc.
3 dnl
4 dnl This program is free software: you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation, either version 3 of the License, or
7 dnl (at your option) any later version.
8 dnl
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 dnl GNU General Public License for more details.
13 dnl
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 dnl
17
18 AT_BANNER([tex driver])
19
20 dnl By passing --xdvi=xdvi to TESTSUITEFLAGS, one can view the rendered dvi from
21 dnl tests defined in this file.
22 AT_ARG_OPTION_ARG([xdvi],[AS_HELP_STRING([--xdvi],
23   [the xdvi program to show show TeX output (default none)])])
24
25 AT_SETUP([tex glyphs])
26
27 AT_CHECK([tex-glyphs pspp.tex], [0], [ignore], [ignore])
28
29 AT_SKIP_IF([test "$TEX" = no])
30
31 dnl  The wasy10 font and its associated .tex file must be installed.
32 dnl  in order to run this test.  On Debian based systems this is found
33 dnl  in the texlive-fonts-recommended package.
34 AT_SKIP_IF([! kpsewhich wasyfont.tex])
35 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
36
37 dnl There should be no overfull boxes
38 AT_CHECK([grep '^Overfull ' pspp.log], [1])
39 dnl nor any underful ones
40 AT_CHECK([grep '^Underfull ' pspp.log], [1])
41
42 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
43
44 AT_CLEANUP
45
46
47
48 AT_SETUP([tex utf8-strings])
49
50 mkdir sample-texts
51
52 dnl The following UTF-8 texts are a collection of snippets harvested
53 dnl from various Wikipedia sites.  Wikipedia articles are
54 dnl copyright and licenced under the GFDL (unversioned)
55 AT_DATA([sample-texts/en.txt], [[The
56 Battle of Artaza (Acción de Artaza) was
57 a battle that occurred on April 20–22, 1835 during the First
58 Carlist War.
59
60 Jerónimo Valdés, at the time Minister of War, arrived at the area known as
61 Las Amescoas with 22,000 men with the intention of
62 definitively destroying the Carlist forces.[1] Zumalacárregui had 5,000 men,
63 but had the advantage of knowing the terrain and practicing guerrilla tactics.
64 ]])
65
66 AT_DATA([sample-texts/pl.txt], [[The Giszowiec składa się z budynków
67 wielorodzinnych z wielkiej płyty oraz
68 zabytkowych domów, przeważnie jedno- i dwurodzinnych, stanowiących
69 niegdyś zwarte osiedle górnicze, które do dziś jest unikatowe w skali
70 europejskiej i znajduje się na Szlaku Zabytków Techniki Województwa
71 Śląskiego. Zostało ono wybudowane dla górników pracujących w kopalni
72 Giesche (późniejszej kopalni Wieczorek) przez koncern Georg von
73 Giesches Erben na zlecenie dyrektora spółki Antona Uthemanna w latach
74 1907–1910. Projektantami osiedla byli Zillmannowie: Georg i
75 go dwa szlaki komunikacyjne: droga krajowa nr 86 oraz autostrada A4, a
76 także rozpoczyna swój bieg droga krajowa nr 81. Dzielnica ma
77 powierzchnię 12,03 km² (7,30% powierzchni miasta) i liczyła w 2007
78 roku 18 475 mieszkańców (5,9% ludności Katowic).
79 ]])
80
81 AT_DATA([sample-texts/el.txt], [[Η πόλη των Σερρών υπήρξε η πιο
82 οχυρωμένη πόλη της περιοχής λόγω της στρατηγικής γεωγραφικής της
83 θέσης. Στα βόρεια της πόλης των Σερρών, πάνω σε λόφο γνωστό με την
84 επωνυμία Κουλάς, βρίσκεται η αρχαία και βυζαντινή ακρόπολη. Η ακρόπολη
85 όπως σώζεται σήμερα αποτελεί έργο των βυζαντινών χρόνων, αλλά
86 θεμελιώθηκε πάνω σε αρχαίο φρούριο  του 7ου και  6ου π. Χ. αιώνα. Η
87 κατασκευή της ακρόπολης χρονολογείται στον 9ο μ. Χ. αιώνα, πιθανότατα,
88 επί Αυτοκράτορα Νικηφόρου Φωκά και αναφέρεται σε πολλά βυζαντινά
89 χρυσόβουλα ως «κάστρο» με γνωστότερο καστροφύλακα τον Λέοντα τον
90 Αζανίτη. [1] Με την πάροδο των χρόνων ολόκληρη η πόλη χαρακτηριζόταν
91 ως «κάστρο» και οι Σερραίοι, «καστρινοί».
92 ]])
93
94 AT_DATA([sample-texts/is.txt], [[Saloth Sar, betur þekktur sem Pol Pot,
95 var fæddur 19. maí 1925 og dó
96 15. apríl 1998. Hann var leiðtogi Rauðu khmeranna í Kambódíu frá 1963
97 til 1979 og er þekktastur fyrir dauða óhemjumargs fólks í stjórnartíð
98 sinni, sem var frá 1975 til 1979. Rauðu khmerarnir reyndu að
99 framfylgja sýn sinni um eins konar samyrkjuvæðingu, en meðal þess sem
100 hún átti að fela í sér var að borgarbúar flyttu út í sveitir og ynnu
101 þar við landbúnað eða í betrunarvinnu. Þeir töldu sig geta byrjað
102 siðmenninguna upp á nýtt og tóku því upp tímatal sem átti að hefjast
103 með valdatíð þeirra. Sú valdatíð var ekki löng, en því
104 mannskæðari. Þrælkunarvinna, vannæring, hrun í heilbrigðiskerfinu og
105 beinar aftökur kostuðu á bilinu 750.000 - 1.700.000 manns lífið (sumir
106 segja á bilinu).
107 ]])
108
109 AT_DATA([sample-texts/hr.txt], [[Nakon što je film završen početkom
110 1984., autori su krenuli tražiti distributera. Odnijeli su film u Los
111 Angeles i pokazali ga velikim studijima. Svi su odbili izuzev Oriona
112 koji je prihvatio distribuciju, ali uz uvjet da ne bi ništa platio
113 unaprijed, što je investitorima bilo neprihvatljivo. Joel Coen
114 napominje da se dogovorio sa agentom za prodaju prava u inozemstvu
115 kako bi se napokon film počeo prikazivati negdje, no to je bio
116 riskantan potez jer to ubija zanimanje domaćih distributera.
117 ]])
118
119 AT_DATA([sample-texts/cz.txt], [[Volarský dům alpského typu (německy
120 Wallerer Haus) je na území České
121 republiky ojedinělý typ venkovského dřevěného domu, jenž se vyskytuje
122 v šumavském městě Volary, které proto někdy bylo nazýváno „alpským
123 městečkem na Šumavě“. Mimo Volary se vyskytuje ještě v sousední obci
124 Dobrá a další jeden dům se nachází v Železné Rudě.[1] Další, do
125 současnosti nedochované domy, se nacházely v Českých Žlebech, Lenoře,
126 Hůrce a Vimperku. V širším okolí Šumavy (Chodsko, Klatovsko, Plánicko)
127 se vyskytují domy volarským stylem více nebo méně ovlivněné.[2]
128 ]])
129
130 AT_DATA([sample-texts/de.txt], [[Urkundlich wurde Rehme 753 erstmals
131 in den fränkischen Reichsannalen erwähnt, als sich die fränkischen
132 Könige Pippin der Jüngere und sein Nachfolger Karl der Große auf
133 Feldzügen dorthin begaben.[2] Seit ca. 800 ist Rehme Sitz einer
134 Kirchengemeinde. Die romanische Laurentiuskirche stammt aus dem
135 12. Jahrhundert und wurde 1890–1892 im neoromanischen Stil erweitert.
136 ]])
137
138 AT_DATA([sample-texts/ang.txt], [[Regn is ƿǣt æðmhēap, nā heard cynn
139 æðmhēapes sƿilce snāƿ, hægel, and īsregn. Tō regnenne, hit is nȳdmicel
140 þæt þicce dǣl þæs lyfthelmes sīe ƿearmra þonne his hāt meltunge, nēah
141 þǣm andƿlitan þǣre eorðan and ēac ofer him. Hē is sēo gæderung þæs
142 lyfthelmes æðmes on lyfte oþþæt hē is sƿā hefig þæt hē fealle, oft
143 full tō þǣre eorðan þǣm andƿlitan. Tū ƿeorc cunnon fyllan þā lyfte
144 oþþæt hire ƿæter beflōƿe: sēo acēlung þǣre lyfte and sēo settung
145 ƿæteres æðmes on þā lyfte.
146 ]])
147
148 AT_DATA([sample-texts/sv.txt], [[Årsmedeltemperaturen i trakten är 18
149 °C. Den varmaste månaden är januari, då medeltemperaturen är 20 °C,
150 och den kallaste är juni, med 16 °C.[5] Genomsnittlig årsnederbörd är
151 2 874 millimeter. Den regnigaste månaden är februari, med i genomsnitt
152 421 mm nederbörd, och den torraste är augusti, med 79 mm nederbörd.[6]
153 ]])
154
155
156 AT_CHECK([tex-strings -o pspp.tex sample-texts/*], [0], [ignore], [ignore])
157
158 AT_SKIP_IF([test "$TEX" = no])
159 AT_SKIP_IF([! kpsewhich wasyfont.tex])
160 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
161
162 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
163
164 AT_CLEANUP
165
166
167
168 AT_SETUP([tex simple example])
169
170 AT_DATA([simple.sps], [dnl
171 data list list /name (a16) score *.
172 begin data
173 alfred   34.0
174 bertram  12.2
175 charlie  12.1
176 david    54.1
177 end data.
178
179 descriptives /score.
180 ])
181
182
183 AT_CHECK([pspp -O format=tex simple.sps], [0], [])
184 AT_CHECK([test $($GWC -L pspp.tex | awk '{print $1}') -le 80], [0], [ignore])
185
186 AT_SKIP_IF([test "$TEX" = no])
187 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
188
189 dnl There should be no overfull boxes
190 AT_CHECK([grep '^Overfull ' pspp.log], [1])
191 dnl nor any underful ones
192 AT_CHECK([grep '^Underfull ' pspp.log], [1])
193
194 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
195
196 AT_CLEANUP
197
198
199
200 AT_SETUP([tex another example])
201
202 AT_CHECK([pspp -O format=tex "$abs_top_srcdir/examples/regress.sps"], [0], [])
203 AT_CHECK([test $($GWC -L pspp.tex | awk '{print $1}') -le 80], [0], [ignore])
204
205 AT_SKIP_IF([test "$TEX" = no])
206 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
207
208 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
209
210 AT_CLEANUP
211
212
213 dnl This example emits a table footnote
214 AT_SETUP([tex table footnotes])
215
216 AT_DATA([footnote.sps], [dnl
217 set format = F11.3.
218 data list notable list /foo * bar * wiz * bang *.
219 begin data.
220 1   0   3   1
221 3   9 -50   5
222 3   4   3 203
223 4  -9   0  -4
224 98 78 104   2
225 3  50 -49 200
226 .   4   4   4
227 5   3   0   .
228 end data.
229
230 correlations
231         variables = foo bar wiz bang
232         /print nosig
233         .
234 ])
235
236 AT_CHECK([pspp -O format=tex footnote.sps], [0], [])
237 AT_CHECK([test $($GWC -L pspp.tex | awk '{print $1}') -le 80], [0], [ignore])
238
239 AT_SKIP_IF([test "$TEX" = no])
240 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
241
242 dnl There should be no overfull boxes
243 AT_CHECK([grep '^Overfull ' pspp.log], [1])
244 dnl nor any underful ones
245 AT_CHECK([grep '^Underfull ' pspp.log], [1])
246
247 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
248
249
250 AT_CLEANUP
251
252
253 dnl An example with non-ascii characters
254 AT_SETUP([tex non-ascii])
255
256 AT_DATA([utf8.sps], [dnl
257 set format = F11.3.
258 data list notable list /items (a16).
259 begin data.
260 Äpfeln
261 Öl
262 Üter
263 Tschüß
264 école
265 côte
266 français
267 þekktastur
268 landbúnað
269 16°C
270 powierzchnię
271 12.03km²
272 end data.
273
274 frequencies items.
275 ])
276
277 AT_CHECK([LC_ALL=C.UTF-8 pspp -O format=tex utf8.sps], [0], [])
278 AT_CHECK([test $($GWC -L pspp.tex | awk '{print $1}') -le 80], [0], [ignore])
279
280 dnl The string "??" should not be present in pspp.tex
281 AT_CHECK([grep -F '??' pspp.tex], [1])
282
283 AT_SKIP_IF([test "$TEX" = no])
284 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
285
286 dnl There should be no overfull boxes
287 AT_CHECK([grep '^Overfull ' pspp.log], [1])
288 dnl nor any underful ones
289 AT_CHECK([grep '^Underfull ' pspp.log], [1])
290
291 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
292
293 AT_CLEANUP
294
295
296 dnl This example emits a table which is rather more complicated
297 dnl It has cells which span multiple columns
298 AT_SETUP([tex multispan])
299
300 AT_DATA([t-test.sps], [dnl
301 set format = F11.3.
302 data list notable list /score * group (a20).
303 begin data.
304 1 this
305 2 this
306 3 this
307 4 this
308 5 that
309 6 that
310 7 that
311 8 that
312 end data.
313
314 t-test /variables=score /group=group("this", "that").
315 ])
316
317 AT_CHECK([pspp -O format=tex t-test.sps], [0], [])
318 AT_CHECK([test $($GWC -L pspp.tex | awk '{print $1}') -le 80], [0], [ignore])
319
320 AT_SKIP_IF([test "$TEX" = no])
321 AT_CHECK([$TEX --halt-on-error pspp.tex], [0], [ignore])
322
323 dnl There should be no overfull boxes
324 AT_CHECK([grep '^Overfull ' pspp.log], [1])
325 dnl nor any underful ones
326 AT_CHECK([grep '^Underfull ' pspp.log], [1])
327
328 test -z "$at_arg_xdvi" || AT_CHECK([$at_arg_xdvi -s 3 pspp.dvi], [0], [ignore])
329
330
331 AT_CLEANUP
332