summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/fancyhdr-it/itfancyhdr.tex
blob: 5391b1af5552602246fe0658e94ca7a65f9e9e2d (plain)
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
\documentclass[a4paper,italian]{article}
\usepackage{multicol}
\usepackage{float}
\usepackage{makeidx}
\usepackage{layout}
\usepackage{array}
\usepackage{a4wide}
\usepackage{boxedminipage}
\usepackage{babel}
\ifx\pdfoutput\undefined % if we are not running pdftex
	\usepackage[T1]{fontenc}
\else			 % if we are running pdftex
	\usepackage{ae}
	\usepackage[pdftex]{thumbpdf}
	\pdfcompresslevel=9
	\usepackage[pdftitle={Layout di pagina in LaTeX},
	pdfauthor={Piet van Oostrum},linktocpage,
	pdftex,colorlinks,hyperindex,plainpages=false]{hyperref}
\fi
\usepackage{url}
\frenchspacing
%% layout.sty does not support italian language
  \renewcommand{\Headertext}{Intestazione}
  \renewcommand{\Bodytext}{Corpo}
  \renewcommand{\Footertext}{Pi\`e di pagina}
  \renewcommand{\MarginNotestext}{Note a\\margine}
  \renewcommand{\oneinchtext}{un pollice}
  \renewcommand{\notshown}{non visibile}
%%\usepackage{fancyheadings}
%%\pagestyle{fancy}
%%\lhead{\rightmark}
%%\rhead{\thepage}
%%\cfoot{}
\makeindex
\title{Layout di pagina in \LaTeX}
\author{Piet van Oostrum\thanks{Una parte considerevole di questo
    articolo \`e stata scritta da George Gr\"atzer (University of
    Manitoba) in \emph{Notices Amer. Math. Soc.}
    Grazie George!}\\
    Dept.\ of Computer Science\\
    Utrecht University}
\date{23 marzo 2001}
\def\latex/{\protect\LaTeX{}}
\def\tex/{\TeX}
\def\ams/{\protect\pAmS}
\def\pAmS{{\the\textfont2
        A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
\def\amslatex/{\ams/-\latex/}
\newcommand{\PSNFSS}{{\sf
    PSNFSS}}
\newcommand{\bs}{\symbol{'134}}
\newcommand{\Cmd}[1]{\texttt{\def\{{\char`\{}\def\}{\char`\}}\bs#1}}
\newcommand{\CmdIndex}[1]{\index{#1@\texttt{\bs#1}}}
\newcommand{\TTindex}[1]{\index{#1@\texttt{#1}}}
\newcommand{\SFindex}[1]{\index{#1@\textsf{#1}}}
\newcommand{\EMindex}[1]{\index{#1@\emph{#1}}}
\newcommand{\PSindex}[1]{\index{stile di pagina!#1@\texttt{#1}}}
%\floatstyle{ruled}
\restylefloat{figure}
\renewcommand{\topfraction}{0.9}
\renewcommand{\bottomfraction}{0.9}
\renewcommand{\textfraction}{0.05}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex}
\setlength{\emergencystretch}{4em}
\makeatletter
\renewcommand\l@section      {\@dottedtocline{1}{1.5em}{2.3em}}
\makeatother
\newenvironment{block}{\vspace{8pt}\begin{minipage}{\textwidth}}{\end{minipage}\vspace{8pt}}
\newenvironment{fblock}{\vspace{8pt}\begin{boxedminipage}{\textwidth}}{\end{boxedminipage}\vspace{8pt}}
\begin{document}
\maketitle
\begin{abstract}
  Questo articolo spiega come personalizzare l'aspetto della pagina
  nei documenti LaTeX, ossia come modificarne le dimensioni e i
  margini, le intestazioni e le righe a pi\`e di pagina, il corretto
  posizionamento di figure e tabelle (collettivamente chiamate oggetti
  flottanti). Originariamente, questa era la documentazione del
  pacchetto \textsf{fancyheadings}, ma conteneva anche altre
  informazioni relative, per esempio, all'uso avanzato delle
  marche. In seguito sono stati aggiunti ulteriori argomenti, come il
  trattamento degli oggetti flottanti. La documentazione di
  \textsf{fancyheadings} \`e stata aggiornata per adattarla alla
  versione 2 di questo pacchetto\footnote{Questa versione dovrebbe
  essere rilasciata molto presto.}.  Per ragioni di compatibilit\`a
  con alcuni sistemi operativi, il nome del pacchetto \`e stato
  cambiato in \textsf{fancyhdr}.

  Sebbene in questo articolo si utilizzino comandi \LaTeXe{}, la
  maggior parte delle tecniche pu\`o essere utilizzata, con le
  appropriate modifiche, anche su versioni pi\`u vecchie di \LaTeX.

  Traduzione italiana di Giulio Agostini % <giulio.agostini@bigfoot.com>
  e Mileto Rigido.                       % <m.rigido@inwind.it>
\end{abstract}
\tableofcontents

%%% Nota dei traduttori
\subsubsection*{Nota alla traduzione italiana}
Una copia di questo documento e altre traduzioni in italiano di
manuali su \LaTeX\ sono reperibili presso
\begin{itemize}
\item\url{http://guild.prato.linux.it}
\item\url{ftp://lorien.prato.linux.it/pub/guild}
\item\url{ftp://ftp.unina.it/pub/TeX/info/italian}
\end{itemize}
e su ogni sito CTAN, per esempio \url{ftp://ftp.tex.ac.uk/tex-archive/info/italian}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Introduzione}
\label{sec:intro}

La pagina di un documento \LaTeX{} \`e costituita da vari elementi,
come mostra la figura \ref{fig:layout}. 
\begin{figure}[htbp]
  \begin{center}
    \leavevmode
    \layout
    \vspace{3cm}
    \caption{Elementi della pagina. I valori indicati sono quelli
    usati in questo documento, non quelli predefiniti.}
    \label{fig:layout}
  \end{center}
\end{figure}
%\thispagestyle{fancy}
\thispagestyle{plain}
Il corpo contiene il testo principale assieme ai cosiddetti oggetti flottanti
(tabelle e figure).

Le pagine sono costruite con la routine di output di \LaTeX, la quale
\`e abbastanza complicata e pertanto non dovrebbe essere modificata
dall'utente.  Alcuni dei pacchetti descritti in questo articolo
contengono delle piccole modifiche alla routine di output finalizzate
al compimento di operazioni che non potrebbero essere realizzate in
altro modo. Per ottenere i risultati desiderati \`e preferibile
utilizzare questi pacchetti piuttosto che modificare direttamente la
routine di output.

Ci sono un certo numero di cose delle quali si deve essere a conoscenza:
\begin{enumerate}

\item I margini sulla sinistra non si chiamano \Cmd{leftmargin}, ma
  \Cmd{evensidemargin} (nelle pagine con numerazione pari) e \Cmd{oddsidemargin}
  (nelle pagine dispari). Nei documenti a una facciata si usa
  \Cmd{oddsidemargin} per entrambe.  Anche \Cmd{leftmargin} \`e un parametro
  \latex/ valido ma ha un utilizzo differente (vale a dire per il rientro
  delle liste).
\item La maggior parte dei parametri non dovrebbe essere cambiata nel
  mezzo di un documento poich\'e alcune modifiche potrebbero avere effetto
  dopo un'interruzione di pagina.
  Se si vuole cambiare l'altezza di una sola pagina, si pu\`o usare il
  comando \Cmd{enlargethispage}.
\end{enumerate}

L'area delle note a margine contiene brevi informazioni
create col comando \Cmd{marginpar}. Nei documenti a due facciate le
note a margine appaiono alternativamente a sinistra e a destra.  Le
note a margine non sono collocate in un posto fisso rispetto al foglio, ma
approssimativamente alla stessa altezza del paragrafo a cui si riferiscono.
Sfortunatamente, a causa dell'algoritmo usato per decidere il loro
posizionamento, in un documento a due facciate
potrebbero apparire sul lato sbagliato se sono collocate nei pressi di
un'interruzione di pagina.
Se invece si vuole che le informazioni appaiano in posti
prefissati ai margini della pagina, si pu\`o usare la tecnica
descritta nelle sezioni \ref{sec:movie} e \ref{sec:thumb}.

La prima parte di questo articolo descrive come modificare le aree
dell'intestazione e del pi\`e di pagina. L'ultima parte descrive come
collocare gli oggetti flottanti nel punto desiderato.

\section{Intestazioni e pi\`e di pagina}

In \LaTeX{} le intestazioni e i pi\`e di pagina sono definiti dai
comandi \Cmd{pagestyle} e \Cmd{pagenumbering}. \Cmd{pagestyle}
definisce il contenuto generale delle intestazioni e dei pi\`e di
pagina (per esempio dove sar\`a stampato il numero della pagina),
mentre \Cmd{pagenumbering} definisce il formato del numero della
pagina.  \LaTeX{} ha quattro stili di pagina predefiniti:

\begin{tabular}{>{\tt}lp{10cm}}
empty & nessuna intestazione o pi\`e di pagina \\
plain & nessuna intestazione, il pi\`e di pagina contiene al centro il numero
della pagina \\
headings & nessun pi\`e di pagina, l'intestazione contiene il nome del capitolo/sezione e/o
subsezione e il numero della pagina \\
myheadings & nessun pi\`e di pagina, l'intestazione contiene il numero
della pagina e altre informazioni fornite dall'utente.
\end{tabular}

Questi stili, sebbene utili, sono abbastanza limitati. Si
possono definire degli stili di pagina aggiuntivi attraverso comandi
del tipo \Cmd{ps@xxx}. Questo comando \`e eseguito quando un
\Cmd{pagestyle\{xxx\}} \`e dato nel documento.  Il comando
\Cmd{ps@xxx} dovrebbe definire i seguenti comandi per il contenuto
delle intestazioni e dei pi\`e di pagina:

\noindent
\begin{tabular}{lp{10cm}}
\Cmd{@oddhead} & intestazione delle pagine dispari nei documenti a due
facciate (valido per tutte le pagine nei documenti a facciata singola) \\
\Cmd{@evenhead} & intestazione delle pagine pari nei documenti a due
facciate \\
\Cmd{@oddfoot} & pi\`e di pagina delle pagine dispari nei documenti a due
facciate (valido per tutte le pagine nei documenti a facciata singola) \\
\Cmd{@evenfoot} & pi\`e di pagina delle pagine pari nei documenti a due
facciate \\
\end{tabular}

Questi non sono comandi utente, ma piuttosto ``variabili'' utilizzate
dalla routine di output di \latex/.
Poich\'e i nomi dei comandi contengono il carattere '\texttt{@}',
dovrebbero essere definiti all'interno di un pacchetto, o altrimenti
essere inseriti tra i comandi \Cmd{makeatletter} e \Cmd{makeatother}.

Il comando \Cmd{pagenumbering} definisce l'aspetto del numero della
pagina e accetta uno dei seguenti parametri:

\begin{tabular}{>{\tt}ll}
arabic & numeri arabi \\
roman & numeri romani a caratteri minuscoli \\
Roman & numeri romani a caratteri maiuscoli \\
alph & lettere minuscole \\
Alph & lettere maiuscole
\end{tabular}

\Cmd{pagenumbering\{xxx\}} fa in modo che il comando \Cmd{thepage} sia
l'espansione del numero di pagina nella forma \texttt{xxx}. 
Il comando pagestyle include quindi \Cmd{thepage} nel posto
appropriato. Inoltre il comando \Cmd{pagenumbering} resetta il
numero di pagina riportandolo a~1. \Cmd{pagestyle} e  \Cmd{pagenumbering} hanno
effetto sulla pagina corrente, quindi dovrebbero essere collocati in
un punto del documento in cui sia chiaro a quale pagina vengono applicati (vd. sezione
\ref{sec:change}).

\section{Cosa \`e \textsf{fancyhdr}}

Il pacchetto di macro \textsf{fancyhdr} permette di personalizzare in
modo facile le intestazioni e i pi\`e di pagina in \latex/. Si possono
definire:
\begin{itemize}
\item intestazioni e pi\`e di pagina divisi in tre parti
\item linee decorative nelle intestazioni e nei pi\`e di pagina
\item intestazioni e pi\`e di pagina pi\`u larghi del testo
\item intestazioni e pi\`e di pagina su pi\`u linee
\item intestazioni e pi\`e di pagina distinti per le pagine pari e dispari
\item intestazioni e pi\`e di pagina diversi per le pagine in cui inizia un  capitolo
\item intestazioni e pi\`e di pagina diversi sulle pagine con oggetti flottanti
\end{itemize}

Ovviamente si pu\`o anche avere completo controllo sui font, sull'uso
di caratteri maiuscoli o minuscoli, eccetera.

%%% \section{Where to get it?}\label{get}
%%% You only need the file \verb|fancyhdr.sty| which you can find at the
%%% \index{ftp}
%%% CTAN sites: \verb|ftp.shsu.edu| (U.S.), \verb|ftp.tex.ac.uk| (U.K.), and
%%% \verb|ftp.dante.de| (Germany).
%%% You will find it in the directory\\
%%% \verb|/tex-archive/macros/latex209/contrib/fancyhdr|. Although
%%% \textsf{fancyhdr}
%%% is a \latex/ 2.09 style file, it will work with \LaTeXe{}. Also this
%%% \TTindex{fixmarks.sty}
%%% \TTindex{extramarks.sty}
%%% article and the two packages \texttt{fixmarks} and \texttt{extramarks} can
%%% be found there. (The code for these packages given in this article is a
%%% simplified version.)

\section{Uso basilare di \textsf{fancyhdr}}

Per usare questo pacchetto in un documento \LaTeXe, si deve installare
il file \verb|fancyhdr.sty| in una directory/cartella dove \tex/ possa
trovarlo (normalmente nella directory/cartella di input) e includere
nel preambolo del documento, dopo

\begin{verbatim}
\documentclass{...}
\end{verbatim}
i commandi\footnote{Con LaTeX2.09 si deve specificare \texttt{[fancyhdr]}
in \Cmd{documentstyle} anzich\'e usare il comando \Cmd{usepackage}.}: 
\PSindex{fancy}
\begin{verbatim}
\usepackage{fancyhdr}
\pagestyle{fancy}
\end{verbatim}

Possiamo rappresentare il layout di pagina che pu\`o essere ottenuto con
\textsf{fancyhdr} in questo modo:

\begin{fblock}
\noindent\makebox[\textwidth]{Intestazione S.\hfill
Intestazione C.\hfill Intestazione D.}
\noindent\makebox[\textwidth]{\hrulefill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hfill corpo della pagina\hfill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hrulefill}
\noindent\makebox[\textwidth]{Pi\`e di pagina S.\hfill
Pi\`e di pagina C.\hfill Pi\`e di pagina D.}
\end{fblock}

Intestazione S. e Pi\`e di pagina S. sono giustificati a sinistra;
Intestazione C. e Pi\`e di pagina C. sono centrati;
Intestazione D. e Pi\`e di pagina D. sono giustificati a sinistra.

Ognuno dei sei ``campi'' e le due linee decorative sono definiti
separatamente.

\section{Un semplice esempio}  K. Grant scrive una relazione per Dean
A. Smith, su ``Il rendimento dei neolaureati'' con il seguente layout
di pagina:

\begin{fblock}
\noindent\makebox[\textwidth]{\hfill\bfseries Il rendimento dei neolaureati}
\noindent\makebox[\textwidth]{\hrulefill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hfill corpo della pagina\hfill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hrulefill}
\noindent\makebox[\textwidth]{Da parte di: K. Grant\phantom{3}\hfill
Per: Dean A. Smith\hfill \phantom{Da parte di: K. Grant}3}
\end{fblock}

\noindent dove ``3'' \`e il numero della pagina.  Il titolo: ``Il
rendimento dei neolaureati'' \`e in grassetto.

Il tutto \`e realizzato con \Cmd{pagestyle\{fancy\}} seguito da questi
comandi%
\footnote{Notare che la versione 1 di fancyheadings usava il comando
\Cmd{setlength} per cambiare i parametri di \texttt{\bs...rulewidth}.}:
\CmdIndex{lhead}
\CmdIndex{rhead}
\CmdIndex{chead}
\CmdIndex{lfoot}
\CmdIndex{rfoot}
\CmdIndex{cfoot}
\CmdIndex{headrulewidth}
\CmdIndex{footrulewidth}
\begin{verbatim}
\lhead{}
\chead{}
\rhead{\bfseries Il rendimento dei neolaureati}
\lfoot{Da parte di: K. Grant}
\cfoot{Per: Dean A. Smith}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\end{verbatim}
(La macro \Cmd{thepage} mostra il numero della pagina corrente,
\Cmd{bfseries} \`e il comando di \LaTeXe per selezionare i caratteri
in grassetto).

In questo modo le impostazioni sono quasi del tutto corrette, l'unico
problema \`e che la prima pagina non ha bisogno di intestazioni e
pi\`e di pagina. Per eliminare tutto tranne il numero della pagina
centrato si usa il comando

\CmdIndex{thispagestyle}
\begin{verbatim}
\thispagestyle{plain}
\end{verbatim}
dopo i comandi
\Cmd{begin\{document\}}
e
\CmdIndex{maketitle}
\Cmd{maketitle}.

In alternativa, si pu\`o usare
\begin{verbatim}
\thispagestyle{empty}
\end{verbatim}
se non si vogliono intestazioni o pi\`e di pagina di alcun tipo.

Infatti le classi standard di \latex/ definiscono il comando \Cmd{maketitle}
in modo tale da utilizzare automaticamente
\Cmd{thispagestyle\{plain\}}, quindi se si vuole il layout fancy in una
pagina contenente \Cmd{maketitle} si deve mettere
\Cmd{thispagestyle\{fancy\}} subito dopo il comando \Cmd{maketitle}.

\section{Un esempio di stampa fronte/retro}\label{two-sided}

\TTindex{twoside}
Alcune classi di documenti, come \verb|book.cls|, sono predefinite per
la stampa fronte/retro: le pagine pari e quelle dispari hanno quindi
un aspetto differente. Altre classi di documenti, invece, richiedono
l'opzione \verb|twoside| per la stampa fronte/retro.

Proviamo adesso a stampare la nostra relazione su due facciate. Il
layout precedente sar\`a usato per le pagine dispari (sul lato destro)
e il seguente per le pagine pari (sul lato sinistro).

\begin{fblock}

\noindent\makebox[\textwidth]{\bfseries Il rendimento dei neolaureati \hfill}
\noindent\makebox[\textwidth]{\hrulefill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hfill corpo della pagina\hfill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hrulefill}
\noindent\makebox[\textwidth]{4\phantom{Per: Dean A. Smith}\hfill
 Da parte di: K. Grant\hfill \phantom{4}Per: Dean A. Smith}

\end{fblock}
\noindent dove ``4'' \`e il numero della pagina.

Ecco i comandi:

\begin{verbatim}
\fancyhead{} % cancella tutti i campi
\fancyhead[RO,LE]{\bfseries Il rendimento dei neolaureati}
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,CE]{Da parte di: K. Grant}
\fancyfoot[CO,RE]{Per: Dean A. Smith}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
\end{verbatim}

\CmdIndex{fancyhead}
\CmdIndex{fancyfoot}

Sono stati usati i comandi, pi\`u generici, \Cmd{fancyhead} e \Cmd{fancyfoot}.
Questi prevedono un parametro addizionale tra parentesi quadre che
specifica a quali pagine e/o parti dell'intestazione/pi\`e di pagina
si applicano. Questo parametro \`e stato omesso nel primo comando
\Cmd{fancyhead}, che pertanto si applica a tutti i campi
dell'intestazione: in generale questo \`e utile solo per sbarazzarsi
di una definizione precedente, come in questo caso. I selettori che
possono essere usati tra parentesi quadre sono indicati nella
figura~\ref{fig:sel}. I selettori possono essere combinati insieme,
cos\`{\i} \Cmd{fancyhead[LE,RO]\{text\}} definir\`a il campo sia per
l'intestazione sinistra sulle pagine pari, sia per l'intestazione destra
sulle pagine dispari; se non si specifica \texttt{E} o \texttt{O}, la definizione si
applica a tutte. Un discorso analogo vale per \texttt{LRC}. Quindi l'uso di
\Cmd{lhead} nella sezione precedente non \`e che un'abbreviazione di
\Cmd{fancyhead[L]}. I selettori possono essere indicati
indifferentemente con le lettere maiuscole o minuscole.

\CmdIndex{fancyhf}
C'\`e anche un pi\`u generico comando \Cmd{fancyhf} che pu\`o essere
usato per specificare contemporaneamente le intestazioni e i pi\`e di
pagina. Questo comando ammette i selettori generali \texttt{H} (intestazione) e \texttt{F}
(pi\`e di pagina), infatti \Cmd{fancyhead} e \Cmd{fancyfoot} non sono
che \Cmd{fancyhf} con \texttt{H} e \texttt{F} gi\`a specificati.
\begin{figure}[tb]
  \begin{center}
    \leavevmode
    \begin{tabular}{|l|l|}
      \hline
      E & Pagina pari       \\
      O & Pagina dispari    \\
      \hline
      L & Campo sinistro    \\
      C & Campo centrale    \\
      R & Campo destro      \\
      \hline
      H & Intestazione      \\
      F & Pi\`e di pagina   \\
      \hline
%%      T & float at Top      \\
%%      B & float at Bottom   \\
%%      F & Float page         \\
%%      \hline
    \end{tabular}
  \end{center}
  \caption{Selettori.}
  \label{fig:sel}
\end{figure}

Inoltre si pu\`o usare \Cmd{thispagestyle\{plain\}} per ottenere un
layout adatto alla prima pagina.

\section{Ridefinire lo stile \texttt{plain}}

Alcuni comandi \latex/, come \Cmd{chapter}, usano il comando
\Cmd{thispagestyle} per selezionare automaticamente lo stile di pagina
\texttt{plain}, ignorando cos\`{\i} quello attualmente in uso.
Per personalizzare anche queste pagine, si deve ridefinire lo stile di
pagina \texttt{plain}. Come \`e stato indicato precedentemente, questo 
pu\`o essere fatto ridefinendo il comando \Cmd{ps@plain}, ma
\textsf{fancyhdr} fornisce un modo pi\`u facile attraverso il comando
\Cmd{fancypagestyle}. Questo comando pu\`o essere usato per ridefinire gli
stili di pagina esistenti (come \texttt{plain}), o per definirne di
nuovi, ad esempio se una parte del documento deve usare uno stile di
pagina differente. Questo comando ha due parametri: uno \`e il nome
dello stile di pagina che si vuole definire, l'altro \`e costituito
dai comandi che cambiano le intestazioni e/o i pi\`e di pagina, ad
esempio \verb|fancyhead| eccetera. Sono anche ammesse delle modifiche a
\Cmd{headrulewidth} e \Cmd{footrulewidth}.
Come esempio, si pu\`o ridefinire lo stile \texttt{plain} per la
relazione della sezione~\ref{two-sided}, mettendo il  numero di
pagina in grassetto. 
\PSindex{plain}

\begin{verbatim}
\fancypagestyle{plain}{%
\fancyhf{} % cancella tutti i campi di  intestazione e pi\`e di pagina
\fancyfoot[C]{\bfseries \thepage} % tranne il centro
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}}
\end{verbatim}


\section{Il layout predefinito}\label{default}
Usiamo la classe \verb|book.cls| e le impostazioni predefinite di
\textsf{fancyhdr}, cos\`{\i} da dare soltanto i comandi

\begin{verbatim}
\usepackage{fancyhdr}
\pagestyle{fancy}
\end{verbatim}
e lasciamo che \textsf{fancyhdr} si occupi di tutto: nelle pagine in
cui inizia un nuovo capitolo, avremo al centro del pi\`e di pagina il
numero della pagina stessa, non ci sar\`a nessuna intestazione e
nessuna linea decorativa.

Sulle pagine pari, otterremo il layout:

\begin{fblock}
\noindent\makebox[\textwidth]{\sl 1.2  VALUTAZIONE\hfill
 CAPITOLO 1. INTRODUZIONE}
\noindent\makebox[\textwidth]{\hrulefill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hfill corpo della pagina\hfill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hrulefill}
\noindent\makebox[\textwidth]{\hfill4\hfill}
\end{fblock}

Sulle pagine dispari, avremo il layout:

\begin{fblock}
\noindent\makebox[\textwidth]{\sl CAPITOLO 1. INTRODUZIONE\hfill
 1.2  VALUTAZIONE}
\noindent\makebox[\textwidth]{\hrulefill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hfill corpo della pagina\hfill}\\[\baselineskip]
\noindent\makebox[\textwidth]{\hrulefill}
\noindent\makebox[\textwidth]{\hfill
3\hfill }
\end{fblock}

\noindent dove il testo dell'intestazione \`e a caratteri maiuscoli inclinati.

Questo layout predefinito \`e prodotto dai seguenti comandi:
\CmdIndex{rightmark}
\CmdIndex{leftmark}
\begin{verbatim}
\fancyhead[LE,RO]{\slshape \rightmark}
\fancyhead[LO,RE]{\slshape \leftmark}
\fancyfoot[C]{\thepage}
\end{verbatim}

Le impostazioni seguenti sono usate per le linee decorative:

\begin{tabbing}
\CmdIndex{headrulewidth}
\noindent \Cmd{headrulewidth}\qquad \qquad \qquad \=0.4\=pt\\
\CmdIndex{footrulewidth}
\Cmd{footrulewidth}\>0\>pt
\end{tabbing}

In \verb|book.cls| il testo delle intestazioni appare in caratteri
maiuscoli.

\section{Lo scoop sulle marche di \latex/}\label{sec:custom}

Di solito, per i documenti delle classi \verb|book| e \verb|report|,
\`e preferibile includere le informazioni sul capitolo e la sezione
nelle intestazioni (solo il capitolo se si stampa su una sola
facciata) e per i documenti della classe \verb|article|, le
informazioni sulla sezione e sulla sottosezione (solo la sezione se si
stampa su una facciata).  \latex/ usa un meccanismo basato sulle marche
per ricordare le informazioni relative al capitolo e alla sezione (o alla
sezione e alla sottosezione) per una pagina. Questo argomento \`e
discusso in dettaglio nella sezione 4.3.1 del \emph{\latex/ Companion}.

Si possono utilizzare due modi per cambiare le informazioni di alto e
basso livello accessibili all'utente. Le macro:
\CmdIndex{rightmark}
\CmdIndex{leftmark}
\Cmd{leftmark}
(alto livello) e \Cmd{rightmark} (basso livello) contengono le
informazioni processate da \latex/ e possono essere utilizzati
direttamente come mostrato nella sezione~\ref{default}.

\Cmd{leftmark} contiene l'argomento di sinistra dell'\emph{ultimo} comando 
\Cmd{markboth} nella pagina, mentre \Cmd{rightmark} contiene l'argomento di 
destra del \emph{primo} comando \Cmd{markboth} o l'unico argomento del 
\emph{primo} comando \Cmd{markright} nella pagina. Se in una pagina non ci 
sono marche, esse sono ``ereditate'' dalla pagina precedente.

Si pu\`o influenzare il modo in cui le informazioni relative a capitolo,
sezione e sottosezione (solo due di questi!) sono mostrate ridefinendo
i comandi
\CmdIndex{chaptermark}
\Cmd{chaptermark},
\CmdIndex{sectionmark}
\CmdIndex{subsectionmark}
\Cmd{sectionmark} e \Cmd{subsectionmark}\footnote{Ci sono dei comandi
simili per \texttt{paragraph} e \texttt{subparagraph} ma sono usati
raramente.}. La ridefinizione deve essere messa dopo la prima
dichiarazione di \Cmd{pagestyle\{fancy\}}, poich\'e questo imposta i
valori predefiniti.

Si pu\`o illustrare quanto detto finora prendendo come esempio le
informazioni relative al capitolo, le quali sono composte da tre
parti:
\begin{itemize}
\CmdIndex{thechapter}
\item  il numero (ad esempio, 2), mostrato dalla macro \Cmd{thechapter}
\item  il nome (Capitolo), mostrato dalla macro
\CmdIndex{chaptername}
   \Cmd{chaptername}
\item  il titolo, contenuto nell'argomento di \Cmd{chaptermark}.
\end{itemize}

La figura~\ref{fig:markers} mostra alcune varianti di ``Capitolo 2.\
Tutto e subito'' (l'ultimo esempio \`e appropriato per alcune lingue
diverse dall'inglese). I segni \verb|%| alla fine delle righe servono a
evitare degli spazi indesiderati: si potrebbero togliere questi segni
e continuare su una sola riga\footnote{Il comando \texttt{\bs MakeUppercase}
  \`e usato in \LaTeXe{} per generare del testo a
  caratteri maiuscoli, mentre in \LaTeX{} 2.09 si usa \Cmd{uppercase}. 
  La differenza \`e che \Cmd{MakeUppercase} si occupa anche di lettere
  non ASCII. Fancyhdr fa in modo che \Cmd{MakeUppercase}, se non \`e
  definito, sia un alias di \Cmd{uppercase}.}.

\begin{figure}[tb]
\CmdIndex{chaptermark}
\CmdIndex{uppercase}
\CmdIndex{MakeUppercase}
\setlength{\columnsep}{20pt}\small
\begin{multicols}{2}
\noindent Codice:\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{\chaptername|\\
\verb| \ \thechapter.\ #1}{}}|\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{\MakeUppercase{%|\\
\verb| \chaptername}\ \thechapter.%|\\
\verb| \ #1}{}}|\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{\MakeUppercase{%|\\
\verb| \chaptername\ \thechapter.%|\\
\verb| \ #1}}{}}|\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{#1}{}}|\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{\thechapter.\ #1}{}}|\\
\mbox{}\\
\verb|\renewcommand{\chaptermark}[1]{%|\\
\verb| \markboth{\thechapter.%|\\
\verb| \ \chaptername.\ #1}{}}|\\
Stampa:\\
\mbox{}\\
Capitolo 2.\ Tutto e subito\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
CAPITOLO 2.\ Tutto e subito\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
CAPITOLO 2.\ TUTTO E SUBITO\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
\mbox{}\\
Tutto e subito\\
\mbox{}\\
\mbox{}\\
2.\ Tutto e subito\\
\mbox{}\\
\mbox{}\\
2.\ Capitolo.\ Tutto e subito\\
\mbox{}\\
\end{multicols}
\caption{Varianti di marche.}\label{fig:markers}
\end{figure}

Per le informazioni sul sezionamento di basso livello si pu\`o fare lo
stesso con \Cmd{markright}.

Cos\`{\i} se ``Sezione 2.2.\ Primi passi''  \`e la sezione corrente,
allora

\begin{verbatim}
\renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}}
\end{verbatim}
dar\`a
   ``2.2.\ Primi passi''.

La ridefinizione dei comandi \Cmd{chaptermark} e \Cmd{sectionmark}
potrebbe non eliminare tutte le maiuscole, ad esempio la bibliografia
avr\`a il titolo
\CmdIndex{uppercase}
\index{Bibliografia}
\textsc{bibliografia} nell'intestazione, poich\'e \Cmd{MakeUppercase}
\`e dato esplicitamente nella definizione di \Cmd{thebibliography}. Lo
stesso discorso vale per
\textsc{Indice Analitico} eccetera. Se non si vogliono ridefinire questi comandi, si
pu\`o usare il comando \Cmd{nouppercase} che \textsf{fancyhdr} mette a
disposizione nei campi dell'intestazione e del pi\`e di pagina. Si
noti che questo potrebbe dare problemi in altri casi, come per i
numerali romani maiuscoli nelle intestazioni, quindi dovrebbe essere
usato con cautela. Essenzialmente, questo comando compone il suo
argomento in un ambiente in cui \Cmd{MakeUppercase} e \Cmd{uppercase}
sono trasformati in operazioni nulle.

\begin{verbatim}
\lhead{\nouppercase{\rightmark}}
\rhead{\nouppercase{\leftmark}}
\end{verbatim}

Si dovrebbe tener presente che il meccanismo delle marche di \latex/
funziona bene con i capitoli (che cominciano sempre su una nuova
pagina) e le sezioni (che sono ragionevolmente lunghe), ma non
funziona altrettanto bene nel caso di sezioni brevi e di
sottosezioni. Ma questo problema riguarda \latex/, non \textsf{fancyhdr}.

Come esempio si consideri un layout di pagina in cui i \Cmd{leftmark} sono
generati dalle sezioni e i \Cmd{rightmark} dalle sottosezioni (com'\`e
predefinito nella classe \texttt{article}). Si ipotizzi una pagina con
alcune brevi sezioni, ad esempio

\begin{samepage}
\noindent Sezione 1.\\
sottosezione 1.1\\
sottosezione 1.2\\
Sezione 2.  
\end{samepage}

Poich\'e il \Cmd{leftmark} contiene l'\emph{ultima} marca della pagina,
esso sar\`a ``Sezione 2.'', mentre il \Cmd{rightmark} sar\`a ``sottosezione
1.1'', dato che conterr\`a la \emph{prima} marcha della
pagina. Cos\`{\i} l'informazione dell'intestazione di pagina
combiner\`a la sezione 2 con la sottosezione 1.1, il che non \`e
molto coerente.
La miglior cosa da fare in questa situazione \`e usare solo i
\Cmd{rightmark} e ridefinire \Cmd{sectionmark} di conseguenza.
Un comando \latex/
\CmdIndex{firstleftmark}
\Cmd{firstleftmark} sarebbe auspicabile (vd. il pacchetto
\textsf{extramarks} nella sezione~\ref{sec:xmarks}). 

Un altro problema con le marche nelle classi standard di \latex/ \`e
che i comandi di sezionamento di alto livello (ad esempio \Cmd{chapter})
invocano \Cmd{markboth} con un argomento destro vuoto. Questo
significa che sulla prima pagina di un capitolo (o di una sezione nello
stile article) \Cmd{rightmark} sar\`a vuoto. Se questo \`e un problema
si devono inserire manualmente dei comandi \Cmd{markright} aggiuntivi oppure
ridefinire i comandi \Cmd{chaptermark} (e \Cmd{sectionmark}) per dare
il comando \Cmd{markboth} con due parametri accettabili.

Come osservazione finale si noti che la forma asteriscata
dei comandi di sezionamento \emph{non} invoca i comandi
di marchio. Quindi, se si vuole che la prefazione imposti le
informazioni dell'intestazione ma non sia numerata e non compaia
nell'indice, si deve invocare manualmente il comando \Cmd{markboth}, ad esempio

\begin{verbatim}
\chapter*{Prefazione\markboth{Prefazione}{}}
\end{verbatim}

L'inserimento del comando \Cmd{markboth} dentro \Cmd{chapter*}
assicura che la marca non sia separata dal titolo del capitolo da
un'interruzione di pagina. Ovviamente con \Cmd{chapter*} non c'\`e,
questo rischio, anche mettendo il comando di marca dopo il titolo del
capitolo, poich\'e il comando \Cmd{chapter*} comincia su una nuova
pagina. Tuttavia con \Cmd{section*} potrebbe essere pericoloso dare:

\begin{verbatim}
\section*{Prefazione}
\markboth{Prefazione}{}
\end{verbatim}
poich\'e potrebbe verificarsi un'interruzione di pagina tra i due
comandi.

\section{Intestazioni stile dizionario}

\index{dizionario}
%\index{concordance}
I dizionari hanno, solitamente, un'intestazione
contenente la prima (oppure la prima e l'ultima) voce definita nella
pagina. Questo pu\`o essere facilmente realizzato utilizzando
\textsf{fancyhdr} e il meccanismo delle marche di \latex/. Ovviamente,
se si usano le marche per ottenere delle intestazioni stile
dizionario, non le si pu\`o usare per le informazioni relative al
capitolo e alla sezione. Perci\`o, qualora nel documento siano
presenti anche capitoli e sezioni, bisogna ridefinire \Cmd{chaptermark} e
\Cmd{sectionmark} al fine di renderli innocui.

\begin{verbatim}
\renewcommand{\chaptermark}[1]{}
\renewcommand{\sectionmark}[1]{}
\end{verbatim}

Basta ora invocare un comando \Cmd{markboth\{\#1\}\{\#1\}} per ogni
voce \verb|#1| del dizionario e usare \Cmd{rightmark} per la prima
voce definita nella pagina e \Cmd{leftmark} per l'ultima.

Se si vuole avere un'intestazione del tipo \textsf{prima voce--ultima
voce} sarebbe bene che questa assuma semplicemente la forma
\textsf{prima voce} se le due voci coincidono, cosa che pu\`o accadere
quando una sola voce occupa tutta la pagina. In questo caso si dovrebbe
compiere una verifica per controllare se le due marche sono
identiche, tuttavia le marche di \tex/ sono brutte bestie e non
possono essere messe a confronto con i comandi \Cmd{if} del plain
\tex/.
\SFindex{ifthen}
Fortunatamente, il pacchetto \textsf{ifthen} funziona bene:

\begin{verbatim}
\newcommand{\mymarks}{
  \ifthenelse{\equal{\leftmark}{\rightmark}}
    {\rightmark} % se uguali
    {\rightmark--\leftmark}} % se non uguali
\fancyhead[LE,RO]{\mymarks}
\fancyhead[LO,RE]{\thepage}
\end{verbatim}

I dizionari sono spesso impostati su due colonne. Sfortunatamente
c'\`e un bug nell'opzione twocolumn di \latex/ che provoca la perdita
di alcune marche. Si pu\`o risolvere questo problema usando il
pacchetto illustrato nella figura~\ref{fig:fixmarks}\footnote{Si
tratta, in realt\`a, di una semplificazione del codice del pacchetto
vero e proprio, il quale pu\`o essere scaricato da un sito del
CTAN. Il pacchetto \textsf{multicol} usa una tecnica simile.}.

\begin{figure}[tb]
\small
\TTindex{fixmarks.sty}
\begin{verbatim}
% fixmarks.sty:
% Patch LaTeX's output routine to handle marks correctly with two columns.
% Joe Pallas <pallas@edu.stanford.neon>
% Corrected by Piet van Oostrum <piet@cs.ruu.nl> on Feb 5, 1993, Oct 5, 1994

\def\@outputdblcol{\if@firstcolumn \global\@firstcolumnfalse
% Remember the marks from the first column
    \global\setbox\@leftcolumn\copy\@outputbox
    \splitmaxdepth=\maxdimen \cbaddness=10000
    \setbox\@outputbox\vsplit\@outputbox to\maxdimen
    \xdef\@firstcoltopmark{\topmark}%
    \xdef\@firstcolfirstmark{\splitfirstmark}%
    \ifx\@firstcolfirstmark\empty\global\let\@setmarks\relax\else
      \gdef\@setmarks{\let\firstmark\@firstcolfirstmark
        \let\topmark\@firstcoltopmark}%
    \fi
% End of change
  \else \global\@firstcolumntrue
    \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
      {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
       \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats
% Override current first and top with those of first column if necessary
       \@setmarks
% End of change
       \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
       \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup
    \fi}
\end{verbatim}

  \caption{Correzione del comportamento delle marche nello stile a due colonne.}
  \label{fig:fixmarks}
\end{figure}

\section{Layout fantasiosi}

\index{linee multiple}
Si pu\`o creare un campo multilinea con il comando \Cmd{\bs}. \`E
anche possibile mettere dello spazio aggiuntivo in un campo con il
comando \Cmd{vspace}. Si noti che, se si fa questo, si dovr\`a
probabilmente aumentare l'altezza dell'intestazione
\CmdIndex{headheight}
\CmdIndex{footskip}
(\Cmd{headheight}) e/o del pi\`e di pagina (\Cmd{footskip}),
\index{Overfull \verb+\vbox+ \ldots}
altrimenti si potrebbero ottenere dei messaggi di errore \texttt{``Overfull
\Cmd{vbox} \ldots has occurred while \Cmd{output} is active''}%
\footnote{Probabilmete questo accorgimento sar\`a necessario anche se
si usa \texttt{11pt} o \texttt{12pt}, perch\'e i valori predefiniti di
\latex/ sono abbastanza piccoli.}.  Si veda la sezione 4.1 del \latex/
\emph{Companion} per i dettagli.

Per esempio, il codice seguente metter\`a su due righe, nell'angolo in
alto a destra, il titolo della sezione e della sottosezione di un
articolo:

\begin{verbatim}
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\addtolength{\headheight}{\baselineskip}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{#1}}
\rhead{\leftmark\\\rightmark}
\end{verbatim}

Si possono anche personalizzare le lineee decorative, rendendole molto
sottili con

\CmdIndex{headrulewidth}
\begin{verbatim}
\renewcommand{\headrulewidth}{0.6pt}
\end{verbatim}
oppure si possono far scomparire le linee decorative nell'intestazione
e nel pi\`e di pagina con
\CmdIndex{footrulewidth}
\begin{verbatim}
\renewcommand{\footrulewidth}{0pt}
\end{verbatim}

Le linee decorative sono definite nelle due macro \Cmd{headrule} e
\Cmd{footrule}. Per esempio, se nell'intestazione si vuole una linea
punteggiata anzich\'e intera, si pu\`o ridefinire il comando
\Cmd{headrule}:

\begin{verbatim}
\renewcommand{\headrule}{\vbox to 0pt{\hbox
    to\headwidth{\dotfill}\vss}}
\end{verbatim}

\CmdIndex{footruleskip}
Si pu\`o inoltre impostare un parametro addizionale \Cmd{footruleskip}
che definisce la distanza tra la linea decorativa e la parte superiore
della riga di testo del pi\`e di pagina. L'impostazione predefinita
\`e pari al 30\% della normale distanza tra le righe. Se nel pi\`e di
pagina si usano dei font particolarmente grandi o particolarmente
piccoli, potrebbe essere opportuno ridimensionarla con
\Cmd{renewcommand}.

\section{Due esempi di libri}
Le definizioni seguenti forniscono approssimativamente lo stile usato nel
libro di \latex/ di L.~Lamport.

L'intestazione di Lamport sporge sul margine, vediamo come si ottiene questo
effetto.

L'ampiezza dell'intestazione e del pi\`e di pagina \`e \Cmd{headwidth},
il cui valore predefinito \`e pari alla larghezza del testo
(\Cmd{textwidth}). Si pu\`o allargare o stringere questa misura ridefinendo
\Cmd{headwidth} con i comandi \Cmd{setlength} e \Cmd{addtolength}.
Per far sporgere l'intestazione sull'area dove vengono stampate le note
al margine,
\CmdIndex{marginparsep}
\CmdIndex{marginparwidth}
si aggiunga \Cmd{marginparsep} e \Cmd{marginparwidth} a
\Cmd{headwidth} con i comandi:

\begin{verbatim}
\addtolength{\headwidth}{\marginparsep}
\addtolength{\headwidth}{\marginparwidth}
\end{verbatim}

\begin{flushleft}
Bisogna inserire questi comandi \emph{dopo} il primo comando
\Cmd{pagestyle\{fancy\}}, perch\'e quest'ultimo ripristiner\`a il valore
predefinito di \Cmd{headwidth}\footnote{Nella versione 2 di
 \textsf{fancyhdr}, generalmente, funziona anche se li si mette prima,
 ma si consiglia comunque di metterli dopo.}.
\end{flushleft}

Ed ora una definizione completa dello stile del libro di Lamport:

\begin{verbatim}
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\addtolength{\headwidth}{\marginparsep}
\addtolength{\headwidth}{\marginparwidth}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\fancypagestyle{plain}{%
   \fancyhead{} % leva l'intestazione
   \renewcommand{\headrulewidth}{0pt} % e la linea
}
\end{verbatim}
\PSindex{plain}

Si noti che i comandi \Cmd{chaptermark} e \Cmd{sectionmark} sono stati
ridefiniti per eliminare i numeri di capitolo e le maiuscole.

Come secondo esempio, consideriamo il libro di \amslatex/.% \cite{gG93B}.
% George Gratzer, Math into LaTeX, An Introduction to LaTeX and AMS-LaTeX,
% Birkhauser Boston, ISBN 0-8176-3805-9

Le pagine in cui iniziano i capitoli sono prive di intestazione e pi\`e
di pagina. Si dichiari perci\`o
\begin{verbatim}
\thispagestyle{empty}
\end{verbatim}
per ogni pagina di questo tipo, cos\`{\i} non c'e' bisogno di ridefinire
\texttt{plain}.

I titoli dei capitoli e delle sezioni appaiono nella forma:
\mbox{2.\ TUTTO E SUBITO}, quindi bisogna ridefinire \Cmd{chaptermark}
e \Cmd{sectionmark} come segue (si veda la sezione~\ref{sec:custom}):

\begin{verbatim}
\renewcommand{\chaptermark}[1]%
   {\markboth{\MakeUppercase{\thechapter.\ #1}}{}}
\renewcommand{\sectionmark}[1]%
   {\markright{\MakeUppercase{\thesection.\ #1}}}
\end{verbatim}

In un'intestazione ``pari'', il numero di pagina viene stampato
nell'intestazione a sinistra, e le informazioni relative al capitolo
nell'intestazione a destra; in un'intestazione ``dispari'', le
informazioni relative alla sezione sono stampate nell'intestazione a
sinistra e il numero di pagina nell'intestazione a destra. Le parti
centrali delle intestazioni sono vuote.  Non ci sono pi\`e di pagina.

C'\`e una linea decorativa nell'intestazione. \`E alta \texttt{0.5pt},
quindi bisogna inserire i comandi:

\begin{verbatim}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\end{verbatim}

Il font usato nell'intestazione \`e lo Helvetica, grassetto, 9 pt.
Il sistema \PSNFSS\ ideato da Sebastian Rahtz usa il nome abbreviato
(Karl Berry) \verb|phv| per indicare Helvetica, quindi questo font
\`e selezionato con i comandi:
\begin{verbatim}
\fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont
\end{verbatim}
(Si vedano le sezioni~7.6.1 e~11.9.1 del \emph{\latex/ Companion}.)
Definiamo una scorciatoia per questa selezione:
\begin{verbatim}
\newcommand{\helv}{%
   \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
\end{verbatim}

Ora tutto \`e pronto per l'intero layout:

\begin{verbatim}
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]%
   {\markboth{\MakeUppercase{\thechapter.\ #1}}{}}
\renewcommand{\sectionmark}[1]%
   {\markright{\MakeUppercase{\thesection.\ #1}}}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\newcommand{\helv}{%
   \fontfamily{phv}\fontseries{b}\fontsize{9}{11}\selectfont}
\fancyhf{}
\fancyhead[LE,RO]{\helv \thepage}
\fancyhead[LO]{\helv \rightmark}
\fancyhead[RE]{\helv \leftmark}
\end{verbatim}


\section{Layout di pagina speciale per le pagine di soli oggetti flottanti}
\label{sec:float}

\EMindex{float page}
Alcuni preferiscono conferire un aspetto particolare alle pagine che raccolgono
solo oggetti flottanti (\emph{float pages}). Dato che queste pagine sono generate
automaticamente da \latex/, l'utente non ha alcun controllo su di esse.
Non esiste un comando \Cmd{thispagestyle} per le pagine di soli oggetti flottanti,
e qualsiasi cambiamento di stile influenzer\`a almeno anche la pagina che le precede.
Con \textsf{fancyhdr}, comunque, nei campi dell'intestazione e del pi\`e di pagina,
si pu\`o specificare 

\Cmd{iffloatpage\{}testo per pagine di oggetti flottanti\verb|}{|testo per le altre pagine\verb|}|

Si pu\`o usare questo sistema anche per sbarazzarsi della linea decorativa,
basta definire:

\begin{verbatim}
\renewcommand{\headrulewidth}{\iffloatpage{0pt}{0.4pt}}
\end{verbatim}

Se si desidera cambiare il layout anche per pagine che contengono
un oggetto flottante in cima o in fondo alla pagina, \textsf{fancyhdr} fornisce
i comandi \Cmd{iftopfloat} e  \Cmd{ifbotfloat}, simili a \Cmd{iffloatpage}.

Nota: le marche negli oggetti flottanti non saranno visibili nella routine
di output di \latex/, perci\`o \`e inutile mettercele. Attualmente non \`e
possibile far s\`{\i} che un oggetto flottante (ad esempio una didascalia di una
figura) influenzi l'intestazione o il pi\`e di pagina.


\section{Quelle pagine vuote\ldots}
\label{sec:blank}

Nella classe \texttt{book}, quando non si fornisce l'opzione
\texttt{openany}, o nella classe \texttt{report}, quando si fornisce
l'opzione \texttt{openright}, i capitoli iniziano nelle pagine
dispari, causando nella met\`a dei casi l'inserimento di una pagina
vuota.  Alcuni preferiscono che queste pagine siano completamente
vuote, cio\`e senza intestazione e pi\`e di pagina. Questo non si
pu\`o ottenere con \Cmd{thispagestyle}, in quanto sarebbe necessario
invocare questo comando nella pagina \emph{precedente}. Non \`e
necessaria alcuna magia per ottenere questo effetto, comunque:

\PSindex{empty}
\CmdIndex{clearpage}
\CmdIndex{cleardoublepage}
\begin{verbatim}
\clearpage{\pagestyle{empty}\cleardoublepage}
\end{verbatim}

Dal momento che il comando \Cmd{pagestyle\{empty\}} \`e contenuto in un
gruppo, ha effetto solo sulla pagina che potrebbe essere generata da
\Cmd{cleardoublepage}. Si pu\`o ovviamente definire tutto ci\`o in un comando
``privato''. Se si vuole che questo sia fatto automaticamente all'inizio di
ogni capitolo o quando si vuole che compaia del testo in quelle pagine, 
allora bisogna ridefinire il comando \Cmd{cleardoublepage}.
\index{pagine vuote}
\begin{verbatim}
\makeatletter
\def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page\else
  \hbox{}
  \vspace*{\fill}
  \begin{center}
    Questa pagina contiene intenzionalmente solo questa frase.
  \end{center}
  \vspace{\fill}
  \thispagestyle{empty}
  \newpage
  \if@twocolumn\hbox{}\newpage\fi\fi\fi}
\makeatother
\end{verbatim}

\section{Numeri di pagina nella forma ``\textsf{m} di \textsf{n}''}
\label{sec:nofm}

Alcuni autori adottano una nuerazione delle pagine nella forma ``\textsf{m} di
\textsf{n}'', dove \textsf{m} \`e il numero di pagine nel documento.
\`E 
\TTindex{nofm.sty}
disponibile un pacchetto chiamato \texttt{nofm.sty}, ma alcune versioni
sono difettose, e perlopi\`u non funzionano con \textsf{fancyhdr} perch\'e
prendono il controllo dell'intero
\TTindex{lastpage.sty}
layout di pagina. C'\`e un pacchetto per \LaTeXe{} chiamato
\textsf{lastpage}, che pu\`o essere usato con \textsf{fancyhdr} come
segue:

\begin{verbatim}
\usepackage{lastpage}
...
\cfoot{\thepage\ di \pageref{LastPage}}
\end{verbatim}

Se si utilizza il vecchio \latex/2.09 e non si pu\`o passare a \LaTeXe{},
bisogna usarne una versione compatibile con \latex/2.09,
\texttt{lastpage209.sty}, che \`e definita di seguito:

\begin{verbatim}
\let\origenddocument=\enddocument
\def\enddocument{\clearpage\if@filesw
  {\addtocounter{page}{-1} \immediate\write\@mainaux
    {\string\newlabel{LastPage}{{}{\thepage}}}}\origenddocument}
\end{verbatim}

Il valore dell'etichetta \texttt{LastPage} pu\`o essere usato per
ottenere intestazioni o pi\`e di pagina differenti per l'ultima pagina
del documento. Ad esempio, se si vuole che il pi\`e di pagina in ogni pagina
dispari, eccetto l'ultima, contenga il testo ``voltare pagina, prego'',
lo si pu\`o fare in questo modo\footnote{Per questo \`e necessaria una versione
  ragionevolmente recente del pacchetto \textsf{ifthen}.}:

\begin{verbatim}
\usepackage{lastpage}
\usepackage{ifthen}
...
\rfoot{\ifthenelse{\isodd{\value{page}} \and \not
    \value{page}=\pageref{LastPage}{voltare pagina, prego}{}}
\end{verbatim}

\section{Numeri di pagina legati ai capitoli o alle sezioni}

Nella documentazione tecnica molto spesso le pagine sono numerate nella
forma ``2-10'', dove il primo numero \`e il numero del capitolo e il secondo
\`e il numero di pagina relativo al capitolo. A volte si usa il numero di
sezione al posto di quello del capitolo. Il pacchetto \textsf{chappg}
pu\`o essere usato per ottenere questo effetto. Se si desidera cambiare
il layout, ad esempio per usare un punto invece di un trattino,
o le sezioni invece dei capitoli, bisogna fare una copia del pacchetto e
modificarla.

Esso ridefinisce \Cmd{thepage} cos\`{\i}:
\Cmd{arabic\{chapter\}-}\Cmd{arabic\{page\}}.
Sfortunatamente questo fornisce numeri, e non lettere, per le appendici.
Una definizione migliore potrebbe essere
\Cmd{thechapter-}\Cmd{arabic\{page\}}, ma si pu\`o comunque dare questa
definizione dopo il comando \Cmd{usepackage\{chappg\}}.
Il pacchetto, inoltre, riporta il numero di pagina a 1 all'inizio di ogni
capitolo.

C'\`e una differenza fondamentale tra la numerazione del tipo
``\textsf{m} di \textsf{n}'' descritta nella sezione precedente e quella appena
esposta. Lo stile ``\textsf{m} di \textsf{n}'' si usa solo nell'intestazione o
nel pi\`e di pagina, ma non nell'indice, nell'indice analitico, o nei
riferimenti, come ``Vedi pagina \textsf{m}''.
Perci\`o il comando \Cmd{thepage} non viene alterato. Lo stile di numerazione
``2-10'', invece, va utilizzato in tutti i riferimenti al numero di pagina,
quindi il comando \Cmd{thepage} va ridefinito. 


\section{Quando cambiare intestazione e pi\`e di pagina?}
\label{sec:change}

A volte si vuole cambiare il layout dell'intestazione e del
pi\`e di pagina all'interno del documento. Alcuni di questi cambiamenti
possono essere realizzati usando il meccanismo delle marche come si \`e visto
nelle sezioni~\ref{sec:custom} e \ref{sec:xmarks}.
Comunque, in alcuni casi sono necessari cambiamenti pi\`u drastici,
ad esempio cambiare la numerazione della pagina da romana ad araba
(con \Cmd{pagenumbering}), cambiare uno dei campi
\index{stile di pagina!cambiamenti}
di \textsf{fancyhdr} o impostare un altro stile di pagina.
A volte si potrebbe rimanere sorpresi del fatto che i cambiamenti hanno
effetto troppo presto. Generalmente i cambiamenti summenzionati hanno effetto
immediato, cio\`e nella pagina che il sistema sta analizzando attualmente.
Se l'intenzione \`e quella di attuare i cambiamenti nella pagina
successiva bisogna assicurarsi che la pagina corrente sia finita. Nella
\CmdIndex{clearpage}
maggior parte dei casi, questo pu\`o essere ottenuto utilizzando il comando
\Cmd{clearpage} prima di questi cambiamenti. Se questo non \`e possibile,
si pu\`o usare il pacchetto
\TTindex{afterpage.sty}
\textsf{afterpage} cos\`{\i}:\\
\Cmd{afterpage\{}\Cmd{lhead\{nuovo valore\}\}} oppure
\CmdIndex{pagenumbering}
\Cmd{afterpage\{}\Cmd{pagenumbering\{roman\}}. Non si pu\`o usare
\Cmd{afterpage} per cambiare il \Cmd{pagestyle}, in quanto i comandi
invocati da \Cmd{afterpage} sono locali al gruppo, e il comando
\Cmd{pagestyle} effettua solo cambiamenti locali. Il comando
\Cmd{pagenumbering} e i comandi del pacchetto \textsf{fancyhdr}
effettuano cambiamenti globali, e perci\`o funzioneranno, cos\`{\i} come
il comando \Cmd{thispagestyle}. 

Si noti che, sebbene i comandi di \textsf{fancyhdr}, come \Cmd{fancyhead},
abbiano effetto immediato, questo non significa che qualsiasi 
``variabile'' usata all'interno di questi comandi prenda il valore
che ha nel punto in cui \`e stata invocata. Ad esempio, se si scrive
\Cmd{fancyfoot[C]\{}\Cmd{thepage\}}, il numero di pagina che sar\`a
inserito nel pi\`e di pagina non \`e il numero della pagina dove questo
comando viene invocato, ma piuttosto il numero della pagina dove
effettivamente il pi\`e di pagina viene costruito. Naturalmente per
il numero di pagina questo \`e ci\`o che ci si aspetta, ma questo \`e
anche vero per altri comandi.

Perci\`o, se in un libro ogni capitolo \`e stato scritto da un autore
diverso, e si vuole che il suo nome appaia nell'angolo in basso a sinistra,
si possono usare i seguanti comandi:

\begin{verbatim}
\newcommand{\TheAuthor}{}
\newcommand{\Author}[1]{\renewcommand{\TheAuthor}{#1}}
\lfoot{\TheAuthor}
\end{verbatim}

\noindent e cominciare ogni capitolo con
\Cmd{Author\{Nome Cognome\}}.
Se, comunque, il nome dell'autore cambiasse prima del completamento
di una pagina, nel pi\`e di pagina comparirebbe il nome sbagliato.
Questo succede se si invoca il comando \emph{prima} del comando
\Cmd{chapter}, invece che dopo. 
Un'altra fonte di problemi \`e il fatto che la routine di output di \tex/
elabora i comandi in anticipo, quindi potrebbe aver gi\`a elaborato 
qualche comando che produce testo che appare nella pagina successiva.
Nella prossima sezione viene fornito un esempio.

\section{Intestazioni e pi\`e di pagina indotti dal testo}
\label{sec:xmarks}

Si \`e visto come si possono usare le marche di \LaTeX{} per
visualizzare informazioni relative al contenuto del documento nelle
intestazioni e nei pi\`e di pagina. Quello delle marche \`e
l'unico meccanismo affidabile che si pu\`o usare per ottenere informazioni
dinamiche in queste parti di pagina. Questo \`e perch\'e \latex/ potrebbe
impaginare il documento prima di decidere di interrompere la pagina. 

A volte le due marcature che \latex/ offre non sono sufficienti. Ad esempio:
\begin{quote}
 Se la soluzione di un esercizio supera la lunghezza della pagina, si
 desidera avere ``Segue nella pagina successiva\ldots\index{Segue\ldots}''
 in fondo alla prima pagina e ``Seguito\ldots'' nel margine superiore della
 pagina successiva.
\end{quote}

Non si pu\`o usare il meccanismo di marcatura di \latex/ in questo caso,
se si vogliono anche usare informazioni relative a capitoli e sezioni.

Il codice della figura~\ref{fig:xmarks} costituisce un pacchetto che fornisce
altre due marche che possono essere utilizzate in queste situazioni%
\footnote{Dopo aver realizzato questo pacchetto ho scoperto il paccheto
  \texttt{secret.sty}, che fa una cosa simile, marcando paragrafi
  confidenziali se attraversano un'interruzione di pagina. Lo fa, comunque,
  cambiando la routine di output.}.
\begin{figure}[tb]\small
\CmdIndex{extramarks}
\begin{verbatim}
% extramarks.sty
\def\@leftmark#1#2#3#4{#1}
\def\@rightmark#1#2#3#4{#2}

\def\markboth#1#2{{\def\protect{\noexpand\protect\noexpand}
     \let\label\relax \let\index\relax \let\glossary\relax
     \expandafter\@markboth\@themark{#1}{#2}
     \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
\def\markright#1{{\def\protect{\noexpand\protect\noexpand}
     \let\label\relax \let\index\relax \let\glossary\relax
     \expandafter\@markright\@themark
     {#1}\mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
\def\@markright#1#2#3#4#5{\gdef\@themark{{#1}{#5}{#3}{#4}}}
\def\@markboth#1#2#3#4#5#6{\gdef\@themark{{#5}{#6}{#3}{#4}}}
\def\leftmark{\expandafter\@leftmark\botmark{}{}{}{}}
\def\rightmark{\expandafter\@rightmark\firstmark{}{}{}{}}
\def\firstleftmark{\expandafter\@leftmark\firstmark{}{}{}{}}
\def\lastrightmark{\expandafter\@rightmark\botmark{}{}{}{}}

\def\@themark{{}{}{}{}}

\def\extramarks#1#2{{\def\protect{\noexpand\protect\noexpand}
     \let\label\relax \let\index\relax \let\glossary\relax
     \expandafter\@markextra\@themark{#1}{#2}
     \mark{\@themark}}\if@nobreak\ifvmode\nobreak\fi\fi}
\def\@markextra#1#2#3#4#5#6{\gdef\@themark{{#1}{#2}{#5}{#6}}}
\def\firstxmark{\expandafter\@firstxmark\firstmark{}{}{}{}}
\def\topxmark{\expandafter\@firstxmark\topmark{}{}{}{}}
\def\lastxmark{\expandafter\@lastxmark\botmark{}{}{}{}}
\def\@firstxmark#1#2#3#4{#3}
\def\@lastxmark#1#2#3#4{#4}
\end{verbatim}
  \caption{Pacchetto per marche aggiuntive in \latex/.}
  \label{fig:xmarks}
\end{figure}
Ecco un modo di usare questo pacchetto:

\begin{verbatim}
\usepackage{extramarks}
...
\pagestyle{fancy}
\lhead{\firstxmark}
\rfoot{\lastxmark}
...
\extramarks{}{Segue nella pagina successiva\ldots}
Il testo pu\`o attraversare l'interruzione di pagina oppure no\ldots
\extramarks{Seguito\ldots}{}
\end{verbatim}

\CmdIndex{extramarks}
Si noti che i comandi \Cmd{extramarks} devono trovarsi attaccati al testo,
ovvero senza linee vuote in mezzo, altrimenti la pagina potrebbe spezzarsi
proprio l\`{\i}, e le ``\emph{extramarks}'' apparirebbero nella pagina sbagliata.

Ci sono due nuove marche che possono essere usate nel layout della
pagina con questo pacchetto. Se si invocano i comandi nella forma
\verb|\extramarks{|$m_1$\verb|}{|$m_2$\verb|}|
\CmdIndex{firstxmark}
\CmdIndex{lastxmark}
\Cmd{firstxmark} fornisce il primo valore di $m_1$ e
\Cmd{lastxmark} fornisce l'ultimo valore di $m_2$
nella pagina corrente.
\CmdIndex{firstleftmark}
\CmdIndex{lastrightmark}
Il pacchetto fornisce inoltre i comandi \Cmd{firstleftmark}
e \Cmd{lastrightmark}, che complementano le marche standard di \latex/.

Per sottolineare il fatto che usare le marche \`e il modo corretto di
procedere, si vuole esporre una ``soluzione'' che non
funziona\footnote{In effetti c'\`e un altro modo, ma richiede due passate
  di \latex/: si possono mettere comandi \Cmd{label}
  prima e dopo il testo e confrontare le \Cmd{pageref}.}:

\begin{verbatim}
\lhead{Seguito\ldots}
\rfoot{Segue nella pagina successiva\ldots}
Il testo pu\`o attraversare l'interruzione di pagina oppure no\ldots
\lhead{}
\rfoot{}
\end{verbatim}

Si potrebbe essere tentati di pensare che i primi \Cmd{lhead} e \Cmd{rfoot}
saranno attivi quando \tex/ interrompe la pagina nel mezzo del testo,
e che gli ultimi lo saranno quando la pagina si interrompe dopo il testo.
Questo non \`e vero, in quanto l'intero paragrafo (incluse le ultime
definizioni) sar\`a processato
\index{interruzione di pagina}
prima che \tex/ consideri l'interruzione di pagina, perci\`o quando
effettivamente avviene l'interruzione, le ultime definizioni sono attive,
sia che l'interruzione di pagina capiti all'interno del testo che al di
fuori di esso. Nemmeno mettere una interruzione di paragrafo
tra il testo e le ultime definizioni funzioner\`a, perch\`e non si
desidera che le prime definizioni siano attive quando \tex/ decide di
interrompere la pagina esattamente in quel punto. A dire il vero, il
meccanismo delle marche \`e stato inventato per sbarazzarsi di questo tipo
di problemi.

Nell'esempio precedente, ``Seguito\ldots'' compare nell'intestazione.
Potrebbe
\index{margine}
essere preferibile metterlo al margine. Questo effetto pu\`o essere 
raggiunto facilmente mettendolo in una posizione ben precisa rispetto
all'intestazione.
In plain \tex/ bisognerebbe usare un cumulo di \Cmd{hbox to 0pt},
\Cmd{vbox to 0pt}, \Cmd{hskip},\Cmd{vskip}, \Cmd{hss} e
\Cmd{vss}, ma fortunatamente l'ambiente \texttt{picture} di 
\latex/ d\`a la possibilit\`a di farlo in un modo pi\`u pulito.
Per non disturbare il normale layout dell'intestazione, si pu\`o
mettere il testo in un ambiente \texttt{picture} di dimensione zero.
Generalmente questo \`e il modo migliore di posizionare oggetti in punti
fissi della pagina, dopodich\'e si possono usare anche le normali
intestazioni.
Si veda anche la sezione~\ref{sec:thumb} per un altro esempio di questa
tecnica.

\TTindex{picture}
\begin{verbatim}
\lhead{\setlength{\unitlength}{\baselineskip}%
\begin{picture}(0,0)
  \put(-2,-3){\makebox(0,0)[r]{\firstxmark}}
  \end{picture}\leftmark}
\end{verbatim}

Questa soluzione, naturalmente, pu\`o essere usata per il pi\`e di pagina.
Basta assicurarsi di mettere l'ambiente \texttt{picture} all'inizio per le
voci sul lato sinistro e alla fine per quelle sul lato destro.

Per finire si potrebbe voler mettere ``(Seguito\ldots)'' nel \emph{testo}
piuttosto che nell'intestazione o nel margine. In quel caso bisogna usare
il pacchetto \TTindex{afterpage.sty}
\texttt{afterpage}. Si pu\`o anche decidere di avere un ambiente separato per
questo.

\begin{verbatim}
\newenvironment{continued}{\par
  \extramarks{}{Segue nella pagina successiva\ldots}
  \afterpage{\noindent\firstxmark\vspace{1ex}}
  }{\extramarks{(Seguito\ldots)}{}\par}
\end{verbatim}

\`E un po' pericoloso usare \Cmd{firstxmark} fuori dalla routine
del layout di pagina, ma sembra che con \Cmd{afterpage} funzioni.
Se si ha bisogno delle informazioni pi\`u avanti all'interno della
pagina, bisogna registrare lo stato delle marche in una variabile opportuna.
Questo pu\`o essere fatto in uno dei campi di \textsf{fancyhdr}. Per
esempio, se si vuole aggiungere qualcosa \emph{dopo} il brano che \`e stato
interrotto, si pu\`o fare cos\`{\i}:

\begin{verbatim}
\newcommand{\mysaved}{}

\newenvironment{continued}{\par
  \extramarks{}{Segue nella pagina successiva\ldots}
  }{\extramarks{(Seguito\ldots)}{}\par\vspace{1ex}\mysaved}
\lhead{\leftmark}
\chead{\ifthenelse{\equal{\lastxmark}{}}
  {\gdef\mysaved{}}
  {\gdef\mysaved{\noindent[Segue dalla pagina precedente]}}}
\end{verbatim}

Se si vuole includere una marca o altre informazioni variabili nel testo
salvato, bisogna usare \Cmd{xdef} invece di \Cmd{gdef}.


\section{Animazioni}
\label{sec:movie}

\index{animazioni}
\TTindex{picture}
Se si stampa nello stesso punto di ogni pagina una figura che cambia di poco
da una pagina all'altra, si pu\`o ottenere un effetto simile ad
un'animazione scorrendo rapidamente le pagine. Con \textsf{fancyhdr} \`e
facile farlo. Per semplicit\`a si assuma che ogni
immagine sia un file PostScript (EPS) di nome
\texttt{img}$\langle n\rangle$.\texttt{ps}, dove $\langle n\rangle$ \`e il
numero di pagina, e si utilizzi il pacchetto \textsf{graphics} o
\textsf{graphicx}\footnote{Se si usa una versione non aggiornata di
  \LaTeX{} si pu\`o usare il pacchetto \textsf{epsf} o \textsf{epsfig}.}. 
\SFindex{graphics}
\SFindex{graphicx}
\SFindex{epsf}
\SFindex{epsfig}
Per mettere l'animazione nell'angolo in basso a destra, si proceda in questo
modo:

\begin{verbatim}
\rfoot{\setlength{\unitlength}{1mm}
  \begin{picture}(0,0)
    \put(5,0){\includegraphics{img\thepage.ps}}
  \end{picture}}
\end{verbatim}

Si noti che il parametro \Cmd{unitlength} va modificato localmente
nel campo di \textsf{fancyhdr} in modo da evitare interferenze 
indesiderate con il suo valore all'interno del testo.

\section{Indici stile rubrica}
\label{sec:thumb}

\index{bibbie}
Alcune guide stradali e bibbie di lusso hanno il cosiddetto
\EMindex{thumb-index}
\emph{thumb-index}, cio\`e dei segni sul bordo delle pagine che
indicano dove si trovano i capitoli. Si pu\`{o} ottenere questo effetto stampando
riquadri neri sul margine delle pagine. La posizione verticale
va determinata in base al numero del capitolo, o in base a qualche altro
contatore. Dal momento che la posizione \`e indipendente dal contenuto
della pagina, questi riquadri devono far parte dell'intestazione
in una \texttt{picture} di dimensioni zero, come descritto nella precedente
sezione.

Naturalmente bisogna prestare attenzione alla stampa in fronte/retro,
inoltre si potrebbe volere una pagina di indice con tutti i riquadri posizionati
correttamente. Sono richieste un po' di regolazioni di fino per
ottenere dei riquadri distanziati verticalmente.
Nel documento che ho dovuto redigere c'erano 12 sezioni, perci\`o le ho
posizionate a 18~mm l'una dall'altra, cio\`e riquadri larghi 9~mm separati
da 9~mm di spazio. Per evitare calcoli le ho costruite in un ambiente
\texttt{picture} con \Cmd{unitlength} uguale a 18~mm. Ho messo i numeri
di pagina nei lati esterni dell'intestazione e ad essi ho collegato i
riquadri. In questo esempio i numeri di sezione sono utilizzati per
posizionare i riquadri, ma potete sostituirli con qualsiasi valore
numerico. 
Si rimanda alla figura~\ref{fig:overview} per la pagina di riepilogo e alla
figura~\ref{fig:thumb} per il codice.

\begin{figure}[htbp]
\setlength{\unitlength}{9mm}
\newcommand{\blob}{\rule[-.2\unitlength]{1\unitlength}{.5\unitlength}}
\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
  \put(1,-\value{line}){\blob}
  \put(-7.5,-\value{line}){\arabic{line}}
  \put(-7,-\value{line}){#1}}

\newcommand{\overview}{1
  \begin{picture}(0,0)
    \secname{Introduzione}
    \secname{Il primo anno}
    \secname{Specializzazione}
  \end{picture}}
 
  \begin{center}
    \leavevmode
    \begin{picture}(11.3,5)
      \put(0,0){\framebox(11.3,5)[tr]{}}
      \put(9,4.5){\overview}
    \end{picture}
  \end{center}
  \caption{Pagina di riepilogo del \emph{thumb-index}.}
  \label{fig:overview}
\end{figure}
\begin{figure}[hp]\small
\begin{verbatim}
\setlength{\unitlength}{18mm}
\newcommand{\blob}{\rule[-.2\unitlength]{2\unitlength}{.5\unitlength}}

\newcommand\rblob{\thepage
  \begin{picture}(0,0)
    \put(1,-\value{section}){\blob}
  \end{picture}}

\newcommand\lblob{%
  \begin{picture}(0,0)
    \put(-3,-\value{section}){\blob}
  \end{picture}%
  \thepage}

\pagestyle{fancy}
\cfoot{}

\newcounter{line}
\newcommand{\secname}[1]{\addtocounter{line}{1}%
  \put(1,-\value{line}){\blob}
  \put(-7.5,-\value{line}){\Large \arabic{line}}
  \put(-7,-\value{line}){\Large #1}}

\newcommand{\overview}{\thepage
  \begin{picture}(0,0)
    \secname{Introduzione}
    \secname{Il primo anno}
    \secname{Specializzazione}
...etc...
  \end{picture}}

\begin{document}
\fancyhead[R]{\overview}\mbox{}\newpage % Questo produce la pagina di riepilogo
\fancyhead[R]{} % Qui si puo' mettere altro "front matter"
\clearpage
\fancyhead[RE]{\rightmark}
\fancyhead[RO]{\rblob}
\fancyhead[LE]{\lblob}
\fancyhead[LO]{{\leftmark}
...
\end{verbatim}
  \caption{Codice per il \emph{thumb-index}.}
  \label{fig:thumb}
\end{figure}

\section{Posizionamento degli oggetti flottanti}

Gli oggetti flottanti sono elementi della pagina che ``fluttuano''
rispetto al resto del documento. Gli oggetti flottanti standard 
sono le tabelle e le figure, ma con il pachetto \textsf{float} se ne
possono facilmente creare di nuovi, come gli algoritmi. Perlopi\`u
questi oggetti funzionano in modo soddisfacente, ma a volte \LaTeX{}
sembra intestardirsi e non fa quello che gli si chiede. Questa sezione
descrive come si pu\`o influenzare \LaTeX{} in modo che faccia come
gli si dice. Ci potrebbero essere, comunque, alcuni casi patologici
in cui \`e impossibile convincere \LaTeX{} a comportarsi bene.
Nel seguito si adopereranno le figure come esempio, ma tutto ci\`o
pu\`o applicarsi anche ad altri oggetti flottanti.

I problemi pi\`u frequenti con gli oggetti flottanti sono:
\begin{enumerate}
\item Si desidera un oggetto in una certa posizione nel testo, ma \LaTeX{}
  lo sposta, solitamente nella pagina successiva.
\item Da un certo punto in avanti, \LaTeX{} sposta tutti gli oggetti
  flottanti alla fine del documento o alla fine del capitolo.
\item \LaTeX{} si lamenta del fatto che ci sono troppi oggetti flottanti
  (\texttt{Too many floats}).
\end{enumerate}

Nei primi due casi bisogna prima controllare se all'oggetto \`e stato
fornito un corretto parametro di posizionamento (``placement''). Ad
esempio, \Cmd{begin\{figure\}[htp]} specifica che la figura pu\`o essere
posizionata: qui (``Here'') (cio\`e nel punto del testo dove viene
invocato il comando), nella parte superiore (``Top'') di una pagina (che
potrebbe essere la stessa pagina dove viene invocato il comando), oppure
in una pagina (``Page'') separata di soli oggetti flottanti. Si pu\`o
anche specificare \texttt{[b]} per la parte inferiore (``Bottom'') di una pagina.
L'ordine delle lettere \`e irrilevante, non si pu\`o costringere \LaTeX{} a
provare prima in fondo ad una pagina e poi in cima specificando \texttt{[bt]}.

Se \LaTeX{} non mette gli oggetti flottanti dove ci si aspettava, la causa \`e
solitamente una delle seguenti:
\begin{enumerate}
\item L'oggetto era troppo grande per quella pagina. In questo caso deve
  essere spostato nella pagina successiva, o anche oltre. Se non si \`e
  specificato \texttt{[t]} o \texttt{[b]} come parametro di posizionamento,
  \latex/ deve tenerlo in memoria finch\'e ne ha abbastanza per una pagina di
  soli oggetti flottanti. Per questo motivo, \`e meglio non specificare solo
  \texttt{[h]}. Se si vuole dare a \latex/ la possibilit\`a di mettere
  l'oggetto in una pagina di soli oggetti mobili, bisogna anche specificare
  \texttt{[p]}.
\item Il posizionamento violerebbe i vincoli imposti dai parametri di \latex/
  riguardanti il posizionamento degli oggetti flottanti. Questa \`e una delle
  cause pi\`u frequenti e pu\`o essere corretta facilmente cambiando i
  parametri. Eccone un elenco:
\end{enumerate}
\begin{center}
\CmdIndex{topfraction}
\CmdIndex{bottomfraction}
\CmdIndex{textfraction}
\CmdIndex{floatpagefraction}
\TTindex{topnumber}
\TTindex{bottomnumber}
\TTindex{totalnumber}
  \begin{tabular}{>{\tt}l p{8cm} c}
    \hline
    \multicolumn{3}{c}{Contatori -- modificabili con \Cmd{setcounter}}\\
    \hline
    topnumber & Numero massimo di oggetti in cima alla pagina & 2 \\
    bottomnumber & Numero massimo di oggetti in fondo alla pagina & 1 \\
    totalnumber &  Numero massimo di oggetti su una pagina & 3\\
    \hline
    \multicolumn{3}{c}{Comandi -- modificabili con \Cmd{renewcommand}}\\
    \hline
    \bs topfraction & Massima frazione della parte superiore della pagina
        allocabile ad oggetti flottanti & 0.7 \\
    \bs bottomfraction & Massima frazione della parte inferiore della pagina
        allocabile ad oggetti flottanti  & 0.3 \\
    \bs textfraction & Minima frazione della pagina da allocare al testo
        & 0.2 \\
    \bs floatpagefraction & Minima frazione di una pagina di soli oggetti
        flottanti da allocare ad essi & 0.5 \\ 
    \hline
  \end{tabular}
\end{center}

Possono essercene altri nel caso di oggetti flottanti larghi due colonne
in documenti a due colonne.

Nella colonna di destra sono rappresentati i valori predefiniti per le
classi \latex/ standard. Altre classi potrebbero usare valori
diversi. Come si pu\`o notare, con i valori predefiniti, un oggetto
non pu\`o comparire in fondo ad una pagina se la sua altezza \`e maggiore
del 30\% dell'altezza della pagina. Quindi se si specifica \texttt{[hb]} per
un oggetto che \`e pi\`u alto di questa misura, verr\`a spostato in una
pagina di soli oggetti flottanti. Tuttavia, se \`e alto meno del 50\%
dell'altezza della pagina, dovr\`a aspettare finch\'e qualche altro oggetto
viene inserito, prima che una pagina di questo tipo possa essere riempita in
modo da soddisfare il parametro \Cmd{floatpagefraction}. Se ci si imbatte in
comportamenti di questo tipo, si possono facilmente aggiustare i parametri,
ad esempio:
\begin{verbatim}
\renewcommand{\textfraction}{0.05}
\renewcommand{\topfraction}{0.95}
\renewcommand{\bottomfraction}{0.95}
\renewcommand{\floatpagefraction}{0.35}
\setcounter{totalnumber}{5}
\end{verbatim}
Bisogna stare attenti a non rendere \Cmd{floatpagefraction} troppo piccolo,
altrimenti si otterranno tante piccole pagine di soli oggetti flottanti.

Si pu\`o costringere \latex/ ad ignorare gran parte dei parametri per uno
specifico oggetto includendo un punto esclamativo (\texttt{!}) tra i
parametri di posizionamento, ad esempio
\begin{verbatim}
\begin{figure}[!htb]
\end{verbatim}

Oggetti flottanti che contengono \texttt{[t]} tra i parametri possono
essere posizionati prima del punto in cui ne viene richiesto l'inserimento
(ma sulla stessa pagina).
Questo \`e il comportamento normale di \latex/, ma ad alcuni questo non piace.
Ci sono diversi modi di impedirlo: 
\begin{enumerate}
\item Certamente cancellare \texttt{[t]} risolver\`a, ma generalmente
  questo non \`e desiderabile, in quanto si potrebbe voler posizionare
  l'oggetto in cima alla pagina successiva.
\item Usare il pacchetto \textsf{flafter}, che fa in modo che gli oggetti
  flottanti non siano mai posizionati ``prematuramente''.
\item Usare il comando \Cmd{suppressfloats[t]}\footnote{Questo comando e
  il parametro di posizionamento \texttt{[!]} non sono definiti in
  \LaTeX2.09.}.  Questo comando far\`a in modo che gli oggeti flottanti
  posizionati nella parte superiore \emph{di questa pagina} siano spostati
  in quella successiva. Questo pu\`o essere fatto anche per il parametro
  \texttt{[b]} o senza parametro per tutti gli oggetti di questa pagina.
\end{enumerate}

Se nonostante tutti questi tentativi \latex/ sposta ancora gli oggetti
alla fine del documento o di un capitolo, si pu\`o usare un comando
\Cmd{clearpage}. Esso comincer\`a una nuova pagina, e vi inserir\`a tutti gli
oggetti flottanti in coda prima di continuare. Se non si desidera avere
un'interruzione di pagina, si pu\`o usare il pacchetto \textsf{afterpage}
e il seguente comando:
\begin{verbatim}
\afterpage{clearpage}
\end{verbatim}

In questo modo, \latex/ aspetter\`a fino alla fine della pagina corrente e
poi scaricher\`a tutti gli oggetti flottanti in coda. In alcune circostanze
patologiche, comunque, \texttt{afterpage} potrebbe fornire risultati inaspettati.

Per finire, se si vuole un oggetto flottante solo dove \`e stato specificato,
senza che \latex/ lo sposti da qualche altra parte, si pu\`o usare il pacchetto
\textsf{float} e inserire il comando:
\begin{verbatim}
\restylefloat{figure}
\end{verbatim}
nel preambolo. Si pu\`o ora specificare \texttt{[H]} come parametro di
posizionamento, che significa ``QUI e soltanto QUI''. Questo, comunque,
potrebbe causare un'interruzione di pagina indesiderata\footnote{Esisteva
uno stile \texttt{here.sty} con lo stesso effetto, ma questo \`e
incompatibile con \LaTeXe}. Se la si vuole evitare, cio\`e lasciare che
\LaTeX{} sposti l'oggetto solo se non ci sta sulla pagina, si usi il pacchetto
\textsf{afterpage} e il seguente comando:
\begin{verbatim}
\afterpage{\clearpage \begin{figure}[H] \ldots \end{figure}}
\end{verbatim}

Il fatto che \latex/ si lamenti che ci sono troppi oggetti flottanti
(\texttt{Too many floats}) \`e solitamente causato da uno dei problemi sopracitati:
oggetti impossibili da sistemare e \latex/ che di conseguenza ne raccoglie
troppi in coda. Le soluzioni fornite sopra, specialmente quelle contenenti
\Cmd{clearpage}, di solito funzionano. In alcuni casi ci sono veramente
troppi oggetti flottanti, in quanto \latex/ ha un numero limitato di
``scatole'' in cui memorizzare gli oggetti flottanti. Il pacchetto
\textsf{morefloats} pu\`o essere usato per aumentare questo numero. Se ancora
non bastano, bisogna modificare una copia privata di questo file,
ma ci potrebbe ancora essere qualche limite che non pu\`o essere oltrepassato.
A questo punto l'unica cosa che rimane da fare \`e cambiare il documento.

\section{Oggetti flottanti su pi\`u pagine}

Gli oggetti flottanti di \LaTeX\ non possono essere spezzati su pi\`u pagine.
Qualche volta, comunque, sorge la necessit\`a di disporre tabelle o
figure che non stanno su una pagina. La soluzione pi\`u semplice \`e
quella di suddividerle in pi\`u ambienti \texttt{table} o \texttt{figure},
ma questo causa diversi effetti indesiderati:
\begin{itemize}
\item Dove si divide? Questo \`e generalmente pi\`u difficile per le tabelle
  che per le figure.
\item Come tenerle unite?
\item Bisognerebbe avere una sola voce nell'elenco delle figure/tabelle.
\end{itemize}

Anche se questi problemi non sempre sono completamente risolvibili, ecco
un paio di suggerimenti:


\subsection{Tabelle}

Per tabelle pi\`u lunghe di una pagina si pu\`o usare il pacchetto
\textsf{longtable}.
\SFindex{longtable}
Questo pacchetto definisce un ambiente \texttt{longtable} che \`e una specie
di fusione tra \texttt{table} e \texttt{tabular}. Ha approssimativamente
la stessa sintassi dell'ambiente \texttt{tabular}, ma gli aggiunge alcune
funzionalit\`a di \texttt{table}, come le didascalie. Le \texttt{longtable}
saranno automaticamente spezzate quando non ci stanno su una pagina, e
saranno immesse nell'elenco delle tabelle se si fornisce una didascalia.
Esse non saranno flottanti, comunque, e non possono essere usate all'interno
di un ambiente flottante. Questo potrebbe significare che un altro ambiente
\texttt{table}, che \`e stato definito prima della \texttt{longtable}, verr\`a
spostato pi\`u avanti, e quindi la numerazione potrebbe risultarne alterata.
Inoltre, se la \texttt{longtable} comincia troppo in basso nella pagina,
non \`e una vista piacevole. Se l'intenzione \`e quella di far cominciare
la \texttt{longtable} all'inizio di una pagina, la cosa migliore da fare \`e
quella di includerla in un comando \Cmd{afterpage} (fornito dal pacchetto
\textsf{afterpage}). Dal momento che una \texttt{longtable} \`e grande per
definizione, \`e meglio metterla in un file separato, e usare \Cmd{input}
all'interno del comando \Cmd{afterpage}:
\CmdIndex{afterpage}
\begin{verbatim}
\afterpage{\input{miatabella}}
\end{verbatim}
\begin{verbatim}
\afterpage{\clearpage\input{miatabella}}
\end{verbatim}
La seconda forma ha il vantaggio che alcuni degli oggetti flottanti
pendenti potranno essere stampati.


\subsection{Figure}

Non esiste una soluzione equivalente tipo \textsf{longfigure}, perci\`o
le figure vanno spezzate a cura dell'autore. Generalmente questo \`e il
problema minore. Comunque, il problema che si pone adesso \`e come tenerle
unite, cio\`e come distribuire i pezzi su pi\`u pagine, e ottenere una sola
voce nell'elenco delle figure.

Bisogna spezzare la figura in pi\`u parti, e mettere ogni pezzo in un 
diverso ambiente \texttt{figure}. Per tenerli insieme \`e meglio usare
l'argomento \texttt{[p]}, in modo che saranno disposti su pagine di soli
oggetti flottanti. Dato che sono pi\`u grandi di una pagina, questo \`e 
appropriato. Alla prima parte si attribuir\`a quindi una didascalia
(\Cmd{caption}), mentre le parti successive ne saranno prive. Se si vuole
aggiungere testo a mo' di didascalia, inseritelo come testo normale,
anzich\'e come \Cmd{caption}, in modo che non sar\`a inserito nell'elenco
delle figure. Potrebbe anche essere desiderabile l'utilizzo del comando
\Cmd{clearpage}, proprio come per le \texttt{longtable}, racchiudendolo
nel comando \Cmd{afterpage}. Ad esempio:
\begin{verbatim}
\afterpage{\clearpage\input{miafigura}}
\end{verbatim}
dove \texttt{miafigura.tex} contiene:
\begin{verbatim}
\begin{figure}[p]
\includegraphics{miafigura1.eps}
\caption{Questa \`e una figura spezzata su pi\`u pagine.}
\label{fig:xxx}
\end{figure}
\begin{figure}[p]
\includegraphics{miafigura2.eps}
\begin{center}
Figura~\ref{fig:xxx} (continua)
\end{center}
\end{figure}
\end{verbatim}

Bisogna accertarsi che l'ultima parte sia grande abbastanza, altrimenti \LaTeX{}
potrebbe decidere di posticiparla fino a che ha raccolto abbastanza oggetti
flottanti. Questo si pu\`o fare rendendo la figura grande abbastanza (ad
esempio aggiungendo un po' di \Cmd{vspace}), oppure aggiustando
il parametro \Cmd{floatpagefraction}% 
\CmdIndex{floatpagefraction}.

Se si vuole far cominciare la figura spezzata in una pagina a sinistra
(in una pagina pari) si pu\`o introdurre una condizione (fornita dal pacchetto
\texttt{ifthen}) nel comando \Cmd{afterpage}:
\begin{verbatim}
\afterpage{\clearpage
\ifthenelse{\isodd{\value{page}}{\afterpage{\input{miafigura}}} % pagina dispari
    {\input{miafigura}}}} % pagina pari
\end{verbatim}
Se ci sono troppi oggetti flottanti nella pagina che viene saltata, comunque,
pu\`o darsi che la figura non cominci sulla pagina pari.

\clearpage
\section{Contatti}

Piet van Oostrum\\
Dept.\ of Computer Science\\
Utrecht University\\
P.O. Box 80.089\\
3508 TB Utrecht, The Netherlands\\
Telefono: +31 30 2531806 Telefax: +31 30 2513791\\
E-mail: piet@cs.ruu.nl \\
WWW: http://www.cs.ruu.nl/people/piet

\printindex

\end{document}


% Local Variables:
% mode: latex
% TeX-master: t
% End: