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