summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/texlive/texlive-ja/texlive-ja.tex
blob: f396177f230cade7bf8069f56b4cff223b95f1fc (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
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
%#!texfot uplatex
% TeX Live documentation (Japanese edition).
% English version is originally written by Sebastian Rahtz and
% Michel Goossens, now maintained by Karl Berry and others.
% Japanese edition is by Takuto ASAKURA. Public domain.
\RequirePackage{plautopatch}
\documentclass[uplatex,dvipdfmx]{jsarticle}

\usepackage{texlive-ja}

\Title{\TL ガイド 2022}
\Editor{Karl Berry}
\Translator{朝倉卓人 (wtsnjp)}
\Website{https://tug.org/texlive/}

\date{2022年3月}

\begin{document}
\maketitle
\thispagestyle{empty}

\tableofcontents

\section*{訳者まえがき:日本語版『\TL ガイド』について}

この文書は毎年更新される\TL の公式ドキュメント\textsl{The {\TL} Guide}を個人が
翻訳したものです.内容としては\TL についてのごく初歩的な知識,インストール
方法,\TL マネージャを用いた\TL 管理方法が順番に解説され,さらに後半では\KPS
ライブラリの基礎や今日までの\TL における主な変更の履歴など,少し高級な事柄まで
が扱われています.

\TL ガイドは日本語を含め約10ヶ国語に翻訳されていることからもわかるように,
欧米圏のユーザのみならず全世界の\TL ユーザ向けの文書です.しかし,基礎的な解説
の中で言及されている\TeX 関連プログラムは主として欧文向けのものに限られ,この
日本語版\TL ガイドの読者がおそらく必要としているだろう,\TeX で和文を処理する
際に必要な情報は不足している部分があることを否めません.そのような情報を本翻訳
ドキュメントだけで完全に補完することは難しいですが,訳者が可能な範囲で,日本語
ユーザにとって有益と思われる補足情報をいくつかの「日本語\TeX ユーザ向けの
ノート」コラムや訳注の形で追加しています.

本翻訳ドキュメントについて,訳者は慎重な翻訳と技術的に正確な記述を心がけています
が,一部に不正確な翻訳や技術的に誤った記述が含まれている可能性があります.
本ドキュメントの内容に基づく運用結果については責任を負いかねますので,ご了承
ください.また具体的に翻訳が不適切な箇所等を見つけられましたら,ぜひ本翻訳
プロジェクトのGitHubリポジトリまでご報告をお願いします:
%
\begin{quote}
\url{https://github.com/wtsnjp/texlive-ja}
\end{quote}

最後に,本翻訳ドキュメントの作成にあたって八登祟之氏から多数のフィードバック
をいただきました.この場を借りて深く御礼申し上げます.

\section{イントロダクション}\label{sec:intro}

\subsection{\TL と\TeX コレクション}

このドキュメントはGNU/Linuxやその他のUnix系システム,macOS,Windows向けに
\TeX 関連プログラムを集めたディストリビューション\TL の概要について解説する
ものです.

この文書の読者は既にインターネット,{\TeX} Users Groupの配布する\TeX
コレクションDVDまたはその他の方法を利用して\TL を入手していることと思います.
\ref{sec:tl-coll-dists}節は\TeX コレクションDVDの収録物について簡単に説明して
います.\TL と\TeX コレクションは{\TeX} Users Group (TUG) の協力によって維持され
ています.このドキュメントは主として\TL それ自体を解説するものです.

\TL には\TeX, \LaTeXe, \ConTeXt, \MF, \MP, \BibTeX 実行プログラムはもちろん,
\TeX を拡張する多数のマクロパッケージやフォント,そしてそれらの付属ドキュメント
が含まれています.また,世界中で利用されるさまざまな言語における組版もサポート
されています.

\TL のバージョンごとの主な変更点については,このドキュメントの末尾にある
\ref{sec:history}節 (\p.\pageref{sec:history}) を参照してください.

\subsection{サポートOS}
\label{sec:os-support}

\TL にはGNU/Linux, macOS, Cygwinを含む,多くのUnix系プラットフォーム向けの
バイナリが含まれています.同梱されているソースを用いれば,デフォルトではサポート
されていないプラットフォームでコンパイルを行うこともできます.

Windowsについては,Windows~7以上のバージョンをサポートしています.いまのところ
Windows Vistaでも概ね動作する\emph{可能性があります}が,Windows XPよりも古いものに
ついては\TL のインストールすら成功しません.Windowsについては64-bit向けに個別の実行
ファイルを用意していませんが,32-bit実行ファイルは問題なく64-bit環境でも
動作するはずです.ただし64-bitバイナリを追加するオプションについては
\url{https://tug.org/texlive/windows.html}を参照してください.

WindowsおよびmacOSに対する\TL 以外のディストリビューションについては\ref{sec:%
tl-coll-dists}節を参照してください.

\subsection{\TL のインストール(基本)}
\label{sec:basic}

\TL はDVDまたはインターネットを利用してインストールすることができます (\url{%
https://tug.org/texlive/acquire.html}).インターネット・インストーラ自体はとても
小さなプログラムで,これを実行すると必要とされるすべてのファイルをインターネット
からダウンロードします.

DVDインストーラはあなたのローカルディスクに\TL をインストールするものですが,
\TeX コレクションDVD上にある\TL のデータ(またはその\file{.iso}イメージ)
を直接実行することはできません.USBディスクなどにポータブルインストールを
行うことも\emph{可能です}(\ref{sec:portable-tl}節を参照).インストールに
ついては後ほど詳述しますが (\p.\pageref{sec:install}),ここではクイック
スタートとして簡単に説明します:

\begin{itemize}
\item Unix系ではインストールスクリプトは\cmd{install-tl}です.Windowsでは
代わりに\cmd{install-tl-windows}を実行する必要があります.このプログラムに
\sopt{gui}オプションを与えると「GUIモード」(Windowsと古いmacOSでデフォルト),
\sopt{gui=text}を与えると「テキストモード」(その他のプラットフォームで
デフォルト)が実行されます.

\item \TL をインストールすると「\TL マネージャ」(\cmd{tlmgr}) も利用可能になります.
インストーラと同様,このプログラムにもGUIモードとテキストモードがあります.\TL
マネージャを用いてパッケージのインストールやアンインストール,その他さまざまな設定
タスクを実行することができます.
\end{itemize}

\subsection{セキュリティについて}
\label{sec:security}

私たちの知る限り,\TeX の主要なプログラムそれ自体はとても堅牢です(今までもずっと
そうでした).しかしながら,\TL に含まれる多数のサードパーティ製プログラムは,多く
の人の尽力があるとはいえ,それでも同じレベルには達していないかもしれません.一般論
ですが,信頼できない入力についてプログラムを実行する際は十分に注意してください.
なるべく安全に実行するためには,新しいサブディレクトリを作って実行したり,\cmd{%
chroot}を利用したりしてください.

この注意はWindowsについては特に重要です.なぜならWindowsは,検索パスの設定に
関わらず,常にカレントディレクトリにあるプログラムを他の何よりも優先して
実行するからです.この挙動はさまざまな攻撃に悪用される恐れがあります.我々は多くの
セキュリティホールを塞いできましたが,特にサードパーティ製プログラムについては,
間違いなくまだ残っているものが数多くあるでしょう.したがって,カレントディレクトリ
にある疑わしいファイル(特にバイナリとスクリプトファイル)は事前にチェックして
おくことを推奨します.悪意のあるファイルはそもそも存在するべきでありませんが,
単にドキュメントを処理するだけで生成されることなどあってはなりません.

最後に,\TeX (およびその周辺ツール)はドキュメントの処理中にファイル書き込みを
行うことができますが,その機能もまたさまざまな方法で利用され得ます.再度の注意に
なりますが,ご自身で作成されたわけではないドキュメントは,必ず新しい
サブディレクトリで実行するのが無難です.

セキュリティに関する別の観点として,ダウンロードしたファイルが元々作成されていた
ものから改変されていないかどうかということがあります.\prog{tlmgr}%
(\ref{sec:tlmgr}節)は\prog{gpg} (GNU Privacy Guard) が利用可能な場合,
ダウンロードしたファイルについて自動的に暗号理論に基づく検証を行います.
\prog{gpg}は\TL に含まれていませんが,このプログラムについての情報は
\url{https://texlive.info/tlgpg/}に記載してありますので必要に応じて参照して
ください.

\subsection{サポート情報}
\label{sec:help}

\TeX コミュニティはアクティブかつ友好的で,ほとんどの真剣な質問には回答を
得ることができます.しかしながら,こうしたサポートは非公式で,ボランティアや
一般の\TeX ユーザ有志によって行われているものですから,質問をする前にドキュメント
や過去のQ\&Aをよく読んで,まずはご自分で解決できるよう最善を尽くしましょう(もし
保証付きの有償サポートをご希望の場合は,\TL の採用は諦めて商用のシステムを
ご利用ください.\url{https://tug.org/interest.html#vendors}には\TeX に関連する
商用サービスを提供する団体の一覧があります).

以下に\TeX 関連の情報源をリストアップしておきます.順番は概ねおすすめ順です:
%
\begin{description}
\item[はじめての方へ]
これからはじめて\TeX をお使いになる場合は\url{https://tug.org/begin.html}に
アクセスするとよいでしょう.\TeX システムについて簡潔なイントロダクションを
読むことができます.

\item[CTAN]
特定の\TeX パッケージやフォント,プログラム等を見つけたい場合はまずCTANで
探すとよいでしょう.これはあらゆる\TeX 関連の成果物を集めた巨大なコレクションです.
CTANカタログの個別ページでは,見つかったパッケージが\TL または\MIKTEX に含まれるか
どうかの情報も提供されています.\url{https://ctan.org/pkg/catalogue/}にアクセスして
みてください.

\item[{\TeX} FAQ]
\TeX に関するよくあるFAQを集めた巨大なデータベースで,初歩的な質問からとても難解な
質問まで含まれています.{\TeX} FAQはインターネット経由で利用することができます (\url{%
https://texfaq.org/}).

\item[ウェブ上の情報源]
ウェブサイト\url{https://tug.org/interest.html}には多数の\TeX 関連リンクが
集められています.特に\TeX システムに関わるさまざまな話題についての多くの書籍,
マニュアル,投稿記事を多数紹介しています.

\item[サポート・アーカイブ]
\LaTeX コミュニティ\url{https://latex.org/forum/}やQ\&Aサイト\url{https://tex.%
stackexchange.com},Usenetニュースグループ\url{news:comp.text.tex},メーリング
リスト\email{texhax@tug.org}などが,\TeX コミュニティの主なサポートフォーラム
です.これらのアーカイブには過去数十年分の質問と回答が蓄積されています.特に後者
2つのアーカイブは\url{https://groups.google.com/group/comp.text.tex/topics}と
\url{https://tug.org/mail-archives/texhax}にて閲覧できます.また,より一般の
検索エンジンももちろん有用です.

\item[質問する]
もし答えの見つからない質問にぶつかったときは,\url{https://latex.org/forum/}や
\url{https://tex.stackexchange.com/},Googleグループ\dir{comp.text.tex}あるいは
メーリングリスト\email{texhax@tug.org}に質問を投稿することもできます.ただし,
どこで質問を投稿するにしても,必ず事前に「質問のしかた」(\url{https://texfaq.org%
/FAQ-askquestion}) を読むようにしましょう.このインストラクションに従うことで,
有効な回答を得られる可能性を飛躍的に高めることができます.

\item[\TL サポート]
もし\TL ディストリビューションに関してバグ報告や提案,コメントがある場合は
\TL メーリングリスト\email{tex-live@tug.org}にメールを投稿してください.ただし
\TL に含まれる個別のプログラムの使い方についての質問等は,\TL メーリングリスト
ではなく,各プログラムのメンテナや専用のメーリングリストに連絡するようにして
ください.多くの場合,プログラムを\lopt{help}オプション付きで実行するとバグ
報告用のメールアドレスを確認することができます.
\end{description}
%
\begin{janote}
上記リストは主に英語での情報提供・コミュニケーションを行う場所ですが,日本語
でのサポートが必要な場合は,次のようなウェブサイトが利用できます:
%
\begin{description}
\item[{\TeX} Wiki]
\url{https://texwiki.texjp.org/}は日本語で読めるものとしては\TeX 関連情報を集めた
最大の情報源です.現在は日本語\TeX 開発コミュニティ (texjporg) がサーバ管理を
行っていますが,あくまでWikiなので編集は誰でも行うことができ,掲載情報は必ずしも
公式のものではありません.

\item[{\TeX} Forum]
\url{https://oku.edu.mie-u.ac.jp/tex/}は歴史の長いQ\&Aサイトで,現在も日本語で\TeX
に関連する質問ができる場所としては最もアクティブユーザが多く,熟練の\TeX ユーザが
多数参加しています.上記{\TeX} Wikiに日本語版の「質問のしかた」(\url{https://%
texwiki.texjp.org/?質問のしかた}) ページがありますので,初めて質問を投稿する際は
必ず目を通すようにしましょう.

\item[スタック・オーバーフロー]
\url{https://ja.stackoverflow.com/}は\TeX に限らずあらゆる技術・プログラミング
関連の質問を投稿することができるQ\&AサイトStack Overflowの日本語版です.最近は
ここの\LaTeX タグ (\url{https://ja.stackoverflow.com/questions/tagged/latex})
にも少しずつ\TeX/\LaTeX 関連の質問が投稿されるようになってきています.
\end{description}
\end{janote}

\TeX ユーザは上記のような場所でサポートを受けることができる一方で,あなた自身が
他の質問者の手助けをすることも可能です.いずれのコミュニティも全世界に開かれた
ものですから,ぜひお気軽に参加・購読し,ヘルプが必要なユーザを助けてあげましょう.

\section{\TL の概要}
\label{sec:overview-tl}

このセクションでは\TL と\TeX コレクションの収録物について紹介します.

\subsection{\TeX コレクション: \TL, pro\TeX{}t, \MacTeX}
\label{sec:tl-coll-dists}

\TeX コレクションDVDには以下のものが含まれています:

\begin{description}
\item[\TL]
ディスクにインストールするための完全な\TeX システム(ディストリビューション)
です.ウェブサイト:\url{https://tug.org/texlive/}

\item[\MacTeX]
macOS向けの\TeX ディストリビューションで,専用のインストーラといくつかの
Mac用アプリケーションを\TL に追加しています.
ウェブサイト:\url{https://tug.org/mactex/}

\item[\ProTeXt]
\MIKTEX ディストリビューションのWindows向け拡張です.\ProTeXt は\MIKTEX に
いくつかのツールを追加しているほかインストール手順を簡略化しています.
これは完全に\TL とは独立で,独自のインストールガイドがあります.
ウェブサイト:\url{https://tug.org/protext/}

\item[CTAN]
CTANリポジトリ (\url{https://ctan.org/}) のスナップショットです.
\end{description}

CTANおよび\pkg{protext}は\TL と同じライセンスで配布されているわけでは
ないので,再配布や変更を行う場合は十分注意してください.

\subsection{\TL のトップレベルディレクトリ}
\label{sec:tld}

ここに\TL ディストリビューションのトップレベル(最上位階層)にあるディレクトリ
の一覧を示し,それぞれについて簡単に説明しておきます.
%
\begin{description}
\item[\dir{bin}]
\TeX 関連プログラムを格納しています.実行バイナリはプラットフォームによって
異なります.

\item[\dir{readme-*.dir}]
\TL の概要と有用なリンクを集めた多言語のREADMEを含んでいます.HTMLバージョンと
テキストバージョンがあります.

\item[\dir{source}]
\TL に含まれるすべてのプログラムのソースコードです.\Webc で記述された,\TeX
ディストリビューションのコアプログラムのソースコードも含まれています.

\item[\dir{texmf-dist}]
最も重要なTEXMFツリーです.詳しくは下にある\dir{TEXMFDIST}の項目を参照して
ください.

\item[\dir{tlpkg}]
インストールに必要なスクリプトやWindows向けの補助プログラムを含んでいます.
\end{description}
%
ドキュメントを探す際には,同じくトップレベルにある\file{doc.html}が役立ちます.
このファイルには\dir{texmf-dist/doc}以下に含まれるほとんどすべてのドキュメント
(パッケージ,フォーマット,フォント,プログラムのマニュアルやmanページなど)が
掲載されています.また\TL に含まれるドキュメントを検索するには\cmd{texdoc}%
コマンドを利用することもできます.

この\TL ガイド自体は\dir{texmf-dist/doc/texlive}以下にあり,多数の言語に翻訳
されています:
%
\begin{itemize}
\item チェコ・スロバキア語:\dir{texmf-dist/doc/texlive/texlive-cz}
\item ドイツ語\dir{texmf-dist/doc/texlive/texlive-de}
\item 英語:\dir{texmf-dist/doc/texlive/texlive-en}
\item フランス語:\dir{texmf-dist/doc/texlive/texlive-fr}
\item イタリア語:\dir{texmf-dist/doc/texlive/texlive-it}
\item 日本語:\dir{texmf-dist/doc/texlive/texlive-ja}
\item ポーランド語:\dir{texmf-dist/doc/texlive/texlive-pl}
\item ロシア語:\dir{texmf-dist/doc/texlive/texlive-ru}
\item セルビア語:\dir{texmf-dist/doc/texlive/texlive-sr}
\item 簡体字中国語:\dir{texmf-dist/doc/texlive/texlive-zh-cn}
\end{itemize}

\subsection{いろいろなTEXMFツリー(概要)}
\label{sec:texmftrees}

この節では,システムに利用される種々のTEXMFツリーを指定するために予め定義
されている変数を一覧にし,それらの所期の目的および\TL でのデフォルト構成を
説明します.コマンド\code{tlmgr~conf}を実行するとこれらの変数の値が表示される
ので,各TEXMFツリーがあなたのコンピュータで実際にどのディレクトリを指し示す
のか容易に確認することができます.

個人用のものも含め,すべてのTEXMFツリーはその大量のサブディレクトリとともに
\TeX ディレクトリ構成 (TDS, \url{https://tug.org/tds}) にしたがうべきです.
TDSにしたがわない構成の場合,ファイルが見つからない可能性があります.詳細に
ついては\ref{sec:local-personal-macros}節 (\p.\pageref{sec:local-personal-%
macros}) を参照してください.ここで列挙するのはツリーが検索される順序の逆順
です.つまり,より後に登場するツリーによって,それより前のツリーの内容は上書き
されます.
%
\begin{description}
\item[\var{TEXMFDIST}]
このツリーには\TL ディストリビューション自体に含まれるほとんどのファイル
(設定ファイル,スクリプト,パッケージ,フォント,etc.)が配置されています.
(主な例外はプラットフォーム毎の実行バイナリで,それらはトップレベルの
\dir{bin}ディレクトリに配置されています.)

\item[\var{TEXMFSYSVAR}]
この(システム用の)ツリーは\cmd{texconfig-sys}, \cmd{updmap-sys}, \cmd{%
fmtutil-sys}, \cmd{tlmgr}などが,フォーマットや生成されたmapファイルなどの
実行時(キャッシュ)データを保存するためのものです.

\item[\var{TEXMFSYSCONFIG}]
この(システム用の)ツリーは\cmd{texconfig-sys}, \cmd{updmap-sys}, \cmd{%
fmtutil-sys}などが,変更された設定データを保存するために利用するものです.

\item[\var{TEXMFLOCAL}]
このツリーは,システム管理者が全ユーザに適用するためにマクロやフォントなどを
追加または更新して配置するためのものです.

\item[\var{TEXMFHOME}]
このツリーは,一般のユーザが独自に追加または更新したいマクロやフォントを配置する
ためのものです.この変数の参照先は,使用するユーザごとに固有のディレクトリです.

\item[\var{TEXMFVAR}]
この(ユーザ向けの)ツリーは\cmd{texconfig}, \cmd{updmap-user}, \cmd{fmtutil-%
user}などがフォーマットや生成されたmapファイルなどの実行時(キャッシュ)データ
を保存するためのものです.

\item[\var{TEXMFCONFIG}]
この(ユーザ向けの)ツリーは\cmd{texconfig}, \cmd{updmap-user}, \cmd{fmtutil-%
user}などが変更された設定データを保存するために利用するものです.

\item[\var{TEXMFCACHE}]
このツリーは\ConTeXt\ MkIVおよび\LuaLaTeX が実行時(キャッシュ)データを保存
するためのものです.デフォルトでは\var{TEXMFSYSVAR}(またはこれが書き込み
不能な場合は\var{TEXMFVAR})に設定されています.
\end{description}

\noindent
デフォルトの\TL 構成:
%
\begin{description}
\item[システム用ルート] 複数の\TL を配置できます
  (デフォルト値はUnix系では\dir{/usr/local/texlive})
  \begin{description}
  \item[\dir{2021}] 前年のリリース
  \item[\dir{2022}] 最新のリリース
    \begin{description}
    \item[\dir{bin}] ~
      \begin{description}
      \item[\dir{i386-linux}] GNU/Linux向けバイナリ (32-bit)
      \item[\quad\vdots]
      \item[\dir{universal-darwin}] macOS向けバイナリ
      \item[\dir{x86_64-linux}] GNU/Linux向けバイナリ (64-bit)
      \item[\dir{win32}] Windows向けバイナリ
      \end{description}
    \item[\dir{texmf-dist}] \var{TEXMFDIST}, \var{TEXMFMAIN}
    \item[\dir{texmf-var}] \var{TEXMFSYSVAR}, \var{TEXMFCACHE}
    \item[\dir{texmf-config}] \var{TEXMFSYSCONFIG}
    \end{description}
  \item[\dir{texmf-local}] \var{TEXMFLOCAL}(リリースに依存しません)
  \end{description}
\item[ユーザのホームディレクトリ] (\dir{$HOME}または\winenv{USERPROFILE})
  \begin{description}
  \item[\dir{.texlive2021}] 前年リリースに適用するユーザごとのデータ(設定や生成物)
  \item[\dir{.texlive2022}] 最新リリースに適用するユーザごとのデータ(設定や生成物)
    \begin{description}
    \item[\dir{texmf-var}] \var{TEXMFVAR}, \var{TEXMFCACHE}
    \item[\dir{texmf-config}] \var{TEXMFCONFIG}
    \end{description}
  \item[\dir{texmf}] \var{TEXMFHOME}(ユーザごとのマクロなどを配置)
  \end{description}
\end{description}

\subsection{\TeX の拡張エンジン}
\label{sec:tex-extensions}

Knuthによるオリジナルの\TeX は既に開発が終了しており,ごく稀にバグ修正が
入る程度です.\TL には現在もこのオリジナル処理系が\cmd{tex}として含まれており,
この状況は当面の間は変わることはないでしょう.一方で,\TL にはいくつかの\TeX を
拡張したエンジン(それらも\TeX 処理系と呼ばれています)も収録されています:
%
\begin{description}
\item[\eTeX]\label{text:etex}
この処理系ではいくつかの追加プリミティブ(主としてマクロ展開,文字列スキャン,
\cs{marks}クラス,デバッグに関わるもの)と双方向組版のための\TeXXeT 拡張が利用可能
です.デフォルトモードでは,\eTeX はオリジナルの\TeX と完全な互換性があります.
詳細については\file{texmf-dist/doc/etex/base/etex_man.pdf}を参照してください.

\item[\pdfTeX]
この処理系には,\eTeX の機能に加えてDVI同様にPDFを出力する機能と,その他出力とは
関係のない多数の追加機能が搭載されています.この処理系は,\cmd{etex}, \cmd{latex},
\cmd{pdflatex}など多くの一般的なフォーマット(コマンド)から呼び出されています.
\pdfTeX のウェブサイトは\url{https://tug.org/applications/pdftex/}です.\TL
にはマニュアル (\file{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}) と\pdfTeX の
拡張機能の利用例を示した文書 (\file{texmf-dist/doc/pdftex/samplepdftex/%
samplepdf.tex}) も収録されています.

\item[\LuaTeX]
Unicodeによる入力とOpenType\slash TrueTypeフォントおよびシステムフォントのサポート
を追加した処理系です.この\TeX エンジンには軽量スクリプト言語Lua (\url{%
https://www.lua.org/}) のインタプリタが組み込まれており,\TeX における厄介な問題に
対処するのにとても役立ちます.\cmd{texlua}として呼び出した場合は独立のLua処理系の
ように振る舞います.ウェブサイト:\url{https://luatex.org/},マニュアル:\file{%
texmf-dist/doc/luatex/base/luatex.pdf}.

\item[($\varepsilon$-)(u)\pTeX]
日本語組版をネイティブにサポートする処理系です.\pTeX がベースですが,\eTeX 拡張
が利用可能な\epTeX とUnicodeサポートを含む\upTeX もあります(詳細はこのリストの
下のコラムを参照).

\item[\XeTeX]
Unicodeによる入力とOpenType\slash TrueTypeフォントおよびシステムフォントの利用を
サードパーティ製のライブラリを利用してサポートする\TeX 処理系です.
ウェブサイト:\url{https://tug.org/xetex}.

\item[{\OMEGA} (Omega)]
Unicode(16-bit文字)ベースの処理系で,すなわち世界中のほとんどあらゆる言語で
用いられる文字に対応しています.この処理系はいわゆる `Omega Translation
Processes' (OTPs) もサポートしており,任意の入力について複雑な組版処理を施すことも
可能です.

\item[{\ALEPH} (Aleph)]
Omegaと\eTeX を組み合わせた処理系です.詳細については\dir{texmf-dist/doc/aleph/%
base}を参照してください.
\end{description}
%
\begin{janote}
日本語組版向けに開発された\pTeX 系の処理系を除いては,欧文組版を行うために
開発されたもので,多くがそのままでは日本語組版には適しません.\TL に含まれる
処理系の中で,日本語組版に適したものを以下に列挙します.
%
\begin{description}
\item[\pTeX]
Knuthによるオリジナルの\TeX 処理系を日本語組版用に拡張したものです.和文フォントを
扱うことができるように拡張されているほか,禁則処理や縦組みにも対応しています.詳細に
ついては\file{texmf-dist/doc/ptex/ptex-manual/ptex-manual.pdf}を参照してください.

\item[\upTeX]
\pTeX の派生エンジンで,内部コードがUnicodeに変更されています.基本的には\upTeX は
\pTeX の上位互換となっており,UTF-8入力が活用できるのみならず,他にもいくつかの
機能が追加されています.

\item[\epTeX, \eupTeX]
\pTeX と\upTeX に\eTeX 相当の拡張機能を追加したエンジンです.現在\TL に含まれる
\cmd{platex}, \cmd{uplatex}コマンドではデフォルトでこれらの処理系が呼び出されます.
最近は\pdfTeX 由来の機能も一部利用できます.詳細は\file{texmf-dist/doc/ptex/ptex-%
base/eptexdoc.pdf}を参照してください.
\end{description}
%
また\LuaTeX-jaというマクロパッケージを用いると\LuaTeX でも日本語組版を実現できます.
詳しくはウェブサイト\url{https://ja.osdn.net/projects/luatex-ja/}またはドキュメント
\file{texmf-dist/doc/luatex/luatexja/luatexja-ja.pdf}を参照してください.
\end{janote}

\subsection{\TL に含まれるその他の著名なソフトウェア}

ここに少しですが,\TL に含まれていて,よく利用されるプログラムを列挙しておきます:
%
\begin{cmddescription}
\item[bibtex, biber]
参考文献リストの作成を補助するプログラム.

\item[makeindex, xindex, xindy]
索引の作成を補助するプログラム.

\item[dvips]
DVIを\PS に変換するプログラム.

\item[dvipdfmx]
DVIをPDFに変換するプログラム.先述の\pdfTeX とは別のアプローチを提供するもの.

\item[xdvi]
X Windowsシステム向けのDVIビューア.

\item[dviconcat, dviselect]
DVIのページを切り貼りするためのプログラム.

\item[psselect, psnup, \ldots]
\PS ユーティリティ.

\item[pdfjam, pdfjoin, \ldots]
PDFユーティリティ.

\item[context, mtxrun]
\ConTeXt とPDFプロセッサ.

\item[htlatex, \ldots]
\cmd{tex4ht}は\AllTeX をHTML, XML, DocXなどに変換するプログラム.
\end{cmddescription}

\begin{janote}
日本では,上記に加えて次のプログラムもよく用いられます:
%
\begin{cmddescription}
\item[pbibtex, upbibtex]
\cmd{bibtex}を日本語用に拡張したもの.

\item[mendex, upmendex]
\cmd{makeindex}を日本語用に拡張したもの.
\end{cmddescription}
\end{janote}

\section{\TL のインストール}
\label{sec:install}

\subsection{インストーラの入手と起動}
\label{sec:inst-start}

\TL をインストールするためには,まず\TeX コレクションDVDを入手するか\TL の
インターネット・インストーラをダウンロードします.より詳細な情報や\TL を入手
するその他の方法については\url{https://tug.org/texlive/acquire.html}を参照して
ください.
%
\begin{description}
\item[インターネット・インストーラ(\file{.zip}または\file{.tar.gz})]
CTANの\dir{systems/texlive/tlnet}配下からダウンロードできます.\url{http://%
mirror.ctan.org/systems/texlive/tlnet}にアクセスすると,最寄りの最新ミラーに
リダイレクトされるはずです.\file{install-tl.zip}(Unix系およびWindows向け),
またはそれよりもかなりファイルサイズの小さい\file{install-unx.tar.gz}(Unix系
専用)のお好きな方をダウンロードしてください.ダウンロードしたアーカイブを展開
すると\dir{install-tl}サブディレクトリ以下に\file{install-tl}および\file{%
install-tl-windows.bat}が見つかるはずです.

\item[インターネット・インストーラ(Windows用\file{.exe})]
上と同様にCTANからダウンロードし,ダブルクリックしてください.すると,
インストーラの最初の画面(図\ref{fig:nsis})が表示されるはずです.この画面では
「インストール」または「展開のみ」のいずれかを選ぶことができます.

\item[\TeX コレクションDVD]
DVD内の\dir{texlive}サブディレクトリを開いてください.Windowsでは,通常DVD
を挿入するとインストーラが自動的に起動するはずです.{\TeX} Users Group (TUG) の
会員になるか (\url{https://tug.org/usergroups.html}),TUGのオンラインストア
(\url{https://tug.org/store}) で個別に購入するとDVDを手に入れることができます.
また,CTANで配布されているISOイメージからご自身でDVDに焼くことも可能です.
DVDまたはISOから\TL をインストールした後,インターネットを利用して継続的に
アップデートを行いたい場合は\ref{sec:dvd-install-net-updates}節を参照してください.
\end{description}
%
\begin{figure}[tb]
\tlpng{nsis_installer}{.6\linewidth}
\caption{Windows用インストーラ (\code{.exe}) の初期画面.}
\label{fig:nsis}
\end{figure}

いずれの手段でインストーラを入手しても,まったく同じプログラムが起動します.
入手方法の違いによって生じる差異のうち,ユーザにとって最も重要なことは,
インターネット・インストーラを利用した場合はすべてのパッケージについて入手可能
な最新バージョンがインストールされますが,DVDやISOイメージを用いた場合には
年に一度のパブリックリリース時点での最新版がインストールされるということです.

もしプロキシを利用してダウンロードする必要がある場合は,\file{~/.wgetrc}ファイル
または環境変数を利用してWgetに対して適切なプロキシ設定を行うか (\url{https://%
www.gnu.org/software/wget/manual/html_node/Proxies.html}),もしくはお好みで他の
ダウンロード用ツールを利用してください.DVDやISOイメージからインストールを行う
場合は,プロキシ設定について気にする必要はありません.

以降のセクションでは,このインストーラの使い方について詳しく説明します.

\subsubsection{Unix系}

以降では\code{>}はシェル・プロンプトを表し,ユーザの入力はタイプライタ体で
\code{command}のように表現することにします.\TL のインストーラ\cmd{install-%
tl}はPerlスクリプトです.Unix系システムでこのスクリプトを起動する最も簡単
な方法は以下を実行することです:
%
\begin{alltt}
> perl /path/to/installer/install-tl
\end{alltt}
%
(もちろん,実行権限を与えていれば単に\code{/path/to/installer/install-tl}と
して起動することもできますし,事前に\cmd{cd}で\cmd{install-tl}のある
ディレクトリに移動しても構いません.以降では,そのようなバリエーションについて
逐一言及はしません.)
%
ところで,インストーラのメッセージを見やすく表示するためには,ターミナルの
ウィンドウサイズは十分に大きくしておいてください(図\ref{fig:text-main}).

インストーラをGUIモードで起動するためには,予めTcl/Tkをインストールしておく
必要があります.その上で,次のようにするとGUIモードで起動できます:
%
\begin{alltt}
> perl install-tl -gui
\end{alltt}

古い\sopt{wizard}, \lopt{perltk}, \lopt{expert}オプションは現在では\sopt{gui}%
と等価になっています.利用可能なすべてのオプションを確認するには次を実行して
ください:
%
\begin{alltt}
> perl install-tl -help
\end{alltt}

\paragraph{Unixのパーミッションについて}
\TL インストーラは,実行時の\cmd{umask}設定を反映します.したがって,もし利用
中のユーザだけでなく他のユーザも利用可能な形で\TL をインストールしたい場合は,
\code{umask 002}など適切なパーミッション設定になっているかよく確認してください.
\cmd{umask}コマンドの詳細については,システムのマニュアルを参照してください.

\paragraph{Cygwinへの注意}
他のUnix系システムと異なり,Cygwinにはデフォルトでは\TL インストーラの実行に
必要なプログラムの一部が含まれていません.詳細は\ref{sec:cygwin}節を参照して
ください.

\subsubsection{macOS}
\label{sec:macos}

\ref{sec:tl-coll-dists}節でも言及したように,macOSには\MacTeX という専用の
ディストリビューションがあります (\url{https://tug.org/mactex}).\MacTeX の
インストーラはmacOS向けにいくつかの最適化をしている(たとえば,いわゆる
「{\TeX}Distデータ構造」を利用してMac上の複数の\TL リリースを簡単に切り替える
機能があります)ので,\TL インストーラを利用するよりも,\MacTeX を利用した
インストールをおすすめします(訳注:ただし敢えて\TL インストーラを利用する
ことも可能です).

\MacTeX は完全な\TL ベースのディストリビューションで,主要な\TeX ツリーと
含まれる実行バイナリはまったく同一です.通常の\TL に,macOS専用のドキュメント
とアプリケーションがいくつか追加されています.

\subsubsection{Windows}\label{sec:wininst}

もしZIPファイルをご自身でダウンロードして展開した場合やDVDを挿入しても自動的に
インストーラが起動しなかった場合は,\file{install-tl-windows.bat}をダブルクリック
してください.

もしくは,コマンドプロンプトを利用してインストーラを起動することも可能です.以下
では\code{>}はプロンプトを表し,ユーザの入力はタイプライタ体で\code{command}の
ように表現することにします.もし,既にインストーラのあるディレクトリにいる場合は
単に
%
\begin{alltt}
> install-tl-windows
\end{alltt}
%
を実行してください.もちろん絶対パスを指定して起動することも可能です.例えば,
\TeX コレクションDVDを利用していて,その光学ドライブが\dir{D:}であれば:
%
\begin{alltt}
> \winpath{D:\\texlive\\install-tl-windows}
\end{alltt}
%
図\ref{fig:installer-basic}はGUIインストーラ(Windowsではデフォルト)の初期画面を
示しています.

テキストモードでのインストールを行いたい場合は次のようにしてください:
%
\begin{alltt}
> install-tl-windows -no-gui
\end{alltt}

すべてのオプションを表示するには以下を実行してください:
%
\begin{alltt}
> install-tl-windows -help
\end{alltt}

\noindent
\emph{ノート}:同じディレクトリに\file{install-tl-windows.exe}が存在している
場合には拡張子\code{.bat}を付けてください.もっとも,基本的にはそのような状態
にはならないはずです(例外はローカルに\dir{tlnet}ディレクトリをミラーしている
場合です).

\begin{figure}[tb]
\begin{boxedverbatim}
Installing TeX Live 2022 from: ...
Platform: x86_64-linux => 'GNU/Linux on x86_64'
Distribution: inst (compressed)
Directory for temporary files: /tmp
...
 Detected platform: GNU/Linux on Intel x86_64
 
 <B> binary platforms: 1 out of 16

 <S> set installation scheme: scheme-full

 <C> customizing installation collections
     40 collections out of 41, disk space required: 7239 MB

 <D> directories:
   TEXDIR (the main TeX directory):
     /usr/local/texlive/2022
   ...

 <O> options:
   [ ] use letter size instead of A4 by default
   ...
 
 <V> set up for portable installation

Actions:
 <I> start installation to hard disk
 <P> save installation profile to 'texlive.profile' and exit
 <H> help
 <Q> quit
\end{boxedverbatim}
\vskip-.5\baselineskip
\caption{\TL インストーラのテキストモードでのメイン画面 (GNU/Linux)}
\label{fig:text-main}
\end{figure}

\begin{figure}[tb]
\tlpng{basic-macos-ja}{.6\linewidth}
\caption{\TL インストーラの基本画面 (macOS).「高度な設定」ボタンを押すと図\ref{%
fig:installer-advanced}のような画面に切り替わります.}\label{fig:installer-basic}
\end{figure}

\begin{figure}[tb]
\tlpng{advanced-macos-ja}{\linewidth}
\caption{\TL インストーラGUIモードの「高度な設定」画面 (macOS)}
\label{fig:installer-advanced}
\end{figure}

\subsubsection{Cygwin}
\label{sec:cygwin}

Cygwinでは,\TL のインストールを始める前に\file{setup.exe}プログラムを用いて
(もし未導入の場合は)\prog{perl}と\prog{wget}をインストールするようにしてくだ
さい.また以下のパッケージも予めインストールしておくことをおすすめします:
%
\begin{itemize}
\item \prog{fontconfig}(\XeTeX と\LuaTeX のため)
\item \prog{ghostscript}(多くの\TeX エンジンのため)
\item \prog{libXaw7}(\prog{xdvi}のため)
\item \prog{ncurses}(インストーラの\code{clear}コマンドの実行に必要)
\end{itemize}

\subsubsection{テキストモード}

図\ref{fig:text-main}はUnix系におけるテキストモードのメイン画面を示しています.
テキストモードはUnix系ではデフォルトです.

このモードは,完全にコマンドラインで完結するもので,カーソルによる操作のサポートは
まったくありません.例えば,Tabキーによってチェックボックスや入力フォーム間を移動
することはできません.インストール操作はすべて,プロンプトに文字をタイプ(大文字と
小文字は区別されます)してEnterキーを押すことによって行います.ターミナルの画面は,
入力にしたがって適切に遷移していきます.

テキストモードのインターフェースは,最小限のPerlしかない環境を含めなるべく多く
のプラットフォームで動作するようとても原始的に作られています(訳注:GUIモード
は日本語を含む多言語に対応していますが,テキストモードは英語のみです).

\subsubsection{GUIモード}
\label{sec:graphical-inst}

GUIモードはデフォルトではわずかなオプションのみを提供するシンプルな画面で
スタートします(図\ref{fig:installer-basic}).GUIモードを起動するには
%
\begin{alltt}
> install-tl -gui
\end{alltt}
%
を実行します.「高度な設定」ボタンを押すとテキストモードとほぼ同程度のオプションを
提供する画面に切り替わります(図\ref{fig:installer-advanced}).

\subsubsection{その他のレガシーなモード}

古い\code{perltk}モード,\code{expert}モード,\code{wizard}モードは現在もPerl/Tkが
インストールされていれば利用可能です.これらはそれぞれインストーラに\sopt{gui=%
perltk}や\sopt{gui=wizard}オプションを与えると起動できます.

\subsection{インストーラの操作方法}
\label{sec:runinstall}

インストーラは直感的に操作できるように設計されていますが,このセクションでは多様な
オプションやサブメニューについて簡単に説明します.

\subsubsection{バイナリ選択メニュー(Unix系のみ)}
\label{sec:binary}

\begin{figure}[tb]
\begin{boxedverbatim}
Available platforms:
===============================================================================
   a [ ] Cygwin on Intel x86 (i386-cygwin)
   b [ ] Cygwin on x86_64 (x86_64-cygwin)
   c [ ] MacOSX current (10.14-) on ARM/x86_64 (universal-darwin)
   d [ ] MacOSX legacy (10.6-) on x86_64 (x86_64-darwinlegacy)
   e [ ] FreeBSD on x86_64 (amd64-freebsd)
   f [ ] FreeBSD on Intel x86 (i386-freebsd)
   g [ ] GNU/Linux on ARM64 (aarch64-linux)
   h [ ] GNU/Linux on ARMv6/RPi (armhf-linux)
   i [ ] GNU/Linux on Intel x86 (i386-linux)
   j [X] GNU/Linux on x86_64 (x86_64-linux)
   k [ ] GNU/Linux on x86_64 with musl (x86_64-linuxmusl)
   l [ ] NetBSD on x86_64 (amd64-netbsd)
   m [ ] NetBSD on Intel x86 (i386-netbsd)
   o [ ] Solaris on Intel x86 (i386-solaris)
   p [ ] Solaris on x86_64 (x86_64-solaris)
   s [ ] Windows (win32)
\end{boxedverbatim}
\vspace{-1zh}
\caption{バイナリ選択メニュー}\label{fig:bin-text}
\end{figure}

図\ref{fig:bin-text}はテキストモードのバイナリ選択メニューを示しています.デフォルト
ではインストーラ実行時に使用中のプラットフォーム向けのバイナリだけがインストール
されます.このメニューを利用すると,その他のプラットフォーム向けのバイナリも同様に
インストールすることを選択することができます.このメニューは\TeX ツリーをさまざまな
環境に共通のネットワークで共有する場合やデュアルブートシステムでは有用です.

\subsubsection{スキーム・コレクションの選択}
\label{sec:components}

\begin{figure}[tbh]
\begin{boxedverbatim}
Select scheme:
===============================================================================
 a [X] full scheme (everything)
 b [ ] medium scheme (small + more packages and languages)
 c [ ] small scheme (basic + xetex, metapost, a few languages)
 d [ ] basic scheme (plain and latex)
 e [ ] minimal scheme (plain only)
 f [ ] ConTeXt scheme
 g [ ] GUST TeX Live scheme
 h [ ] infrastructure-only scheme (no TeX at all)
 i [ ] teTeX scheme (more than medium, but nowhere near full)
 j [ ] custom selection of collections
\end{boxedverbatim}
\vspace{-1zh}
\caption{スキーム選択メニュー}\label{fig:scheme-text}
\end{figure}

図\ref{fig:scheme-text}は\TL のスキーム選択メニューです.これによって,お好きな
スキーム(パッケージコレクションのセット)を選んでインストールを行うことができます.
デフォルトでは\TL で利用可能なすべてのパッケージを含む\pkg{full}スキームが
インストールされます.おすすめはこの\pkg{full}スキームですが,純粋なplain \TeX
と\LaTeX だけを使用するなら\pkg{basic},それに少しプログラムを追加したものである
\pkg{small}(これは\MacTeX におけるBasic\TeX と同等です),単なるテスト目的なら
\pkg{minimal},あるいはそれらの中間にあたるものが欲しければ\pkg{medium}や
\pkg{teTeX}スキームを選択することもできます.その他にも,多数の目的別もしくは
言語別のスキームが用意されています.

\begin{figure}[tb]
\centering \tlpng{stdcoll-ja}{.7\linewidth}
\caption{コレクション選択メニュー}\label{fig:collections-gui}
\end{figure}

コレクション選択メニュー(図\ref{fig:collections-gui})を活用すると選択したスキーム
をさらに利用目的に応じて最適化することができます(訳注:\pkg{full}スキーム以外
のスキームには日本語組版に必要な\pTeX 系エンジンや\LuaTeX-jaなどは含まれていません.
したがって\pkg{full}スキーム以外のスキームを選択した場合,日本語組版を行うため
には原則として日本語コレクション (\pkg{collection-langjapanese}) を追加する必要が
あります).

コレクションはスキームよりも細かなパッケージのセットです.基本的には,スキームという
のはいくつかのコレクションを集めたもので,コレクションは1つまたは複数のパッケージを
まとめたものです.パッケージは\TL におけるプロダクトの最小単位で,具体的には実際の
\TeX マクロファイルやフォントファイルから成るものです.

もしコレクション選択メニューが提供するよりもさらに細かくインストールするものを制御
したい場合は,インストール後に\TL マネージャ (\cmd{tlmgr}) を使用してください.
\TL マネージャを利用すればパッケージ単位でインストールを行うことが可能です.

\subsubsection{インストール先ディレクトリ}
\label{sec:directories}

デフォルトの\TL 構成については\ref{sec:texmftrees}節 (\p.\pageref{sec:texmftrees})
で説明しました.デフォルトのインストール先はUnix系では\dir{/usr/local/texlive/2022},
Windowsでは\winpath{\winenv{SystemDrive}\\texlive\\2022}です.この配置は複数の\TL
を同時にインストールすることを可能にします.例えば複数のリリース(典型的には,年度
ごと)の\TL をインストールしておき,単純に検索パスを変更することによってどの
リリースを使用するか切り替えるようなことができます.

インストール先のディレクトリはインストーラにおける\code{TEXDIR}を設定することに
よって変更することができます.GUIモードで\code{TEXDIR}やその他のオプションを設定
するための画面は図\ref{fig:installer-advanced}に示されています.インストール先を
変更する必要があるのは,デフォルトのインストール先にあたるパーティションに十分な
空き容量がない場合(\TL をフルインストールするには数GBの容量が必要となります)や
書き込み権限がない場合です(\TL をインストールするのに管理者 (root) 権限は必要
ありませんが,インストール先ディレクトリへの書き込み権限は必要です).

Windowsでは,通常\winpath{C:\\texlive\\2022}(より一般的に言えば\winpath{%
\winenv{SystemDrive}\\texlive\\2022})を作成するのに管理者権限は必要ありません.

インストール先のディレクトリは,インストーラを実行する前にいくつかの環境変数(よく
用いられるのは\var{TEXLIVE\_INSTALL\_PREFIX}と\var{TEXLIVE\_INSTALL\_TEXDIR})を
設定することによっても変更できます.詳細については\code{install-tl \lopt{help}}に
より表示できるドキュメント (\url{https://tug.org/texlive/doc/install-tl.html}) を
参照してください.

合理的なインストール場所の変更先は(特にあなたが\TL を利用する単独のユーザである
場合には)ホームディレクトリ以下でしょう.メタ文字\dir{~}(チルダ)を用いるとこれを
簡単に指定することができます(例:\dir{~/texlive/2022}).

複数の\TL リリースを同時にインストールできるようにするためにも,インストール先の
ディレクトリ名には「年」を含めることをおすすめします(もし\dir{/usr/local/texlive-%
cur}などバージョンに依存しない名前で管理したいとお考えであれば,シンボリックリンク
を利用して新しいリリースをテストしてからそのリンク先を変更するようにするのも良い
でしょう).

インストーラにおける\code{TEXDIR}を変更すると\code{TEXMFLOCAL}, \code{TEXMFSYSVAR},
\code{TEXMFSYSCONFIG}にあたるディレクトリも合わせて変更されることになります.

\code{TEXMFHOME}はユーザごとのマクロファイルやパッケージを配置するのに適した場所で,
デフォルトでは\dir{~/texmf}です(macOSでは\dir{~/Library/texmf}).\code{TEXDIR}%
の場合とは異なり,\TeX を実行しているユーザのホームディレクトリを簡単に参照できる
ように,このデフォルト値では\dir{~}が各々のインストールのために生成された設定
ファイルに書き込まれています.\dir{~}はUnix系では\dir{$HOME}に,Windowsでは\winenv{%
USERPROFILE}にそれぞれ展開されます.繰り返しの注意になりますが,\code{TEXMFHOME}%
も他のTEXMFツリーと同様にTDSにしたがった構成になっているべきです(必要のないファイル
やディレクトリは配置されていなくも構いません).

\code{TEXMFVAR}はほとんどの(ユーザごとの)実行時キャッシュが保存される場所です.
\code{TEXMFCACHE}は\LuaLaTeX と{\ConTeXt} MkIVが使用するための変数で,デフォルト
では\code{TEXMFSYSVAR}または(もし\code{TEXMFSYSVAR}が書き込み可能でない場合は)
\code{TEXMFVAR}に設定されています.詳細は\ref{sec:context-mkiv}節 (\p.\pageref{%
sec:context-mkiv}) を参照してください.

\subsubsection{オプション}
\label{sec:options}

\begin{figure}[tbh]
\begin{boxedverbatim}
Options customization:
===============================================================================
 <P> use letter size instead of A4 by default: [ ]
 <E> execution of restricted list of programs: [X]
 <F> create all format files:                  [X]
 <D> install font/macro doc tree:              [X]
 <S> install font/macro source tree:           [X]
 <L> create symlinks in standard directories:  [ ]
            binaries to:
            manpages to:
                info to:
 <Y> after install, set CTAN as source for package updates: [X]
\end{boxedverbatim}
\vskip-.5\baselineskip
\caption{Options menu (Unix)}\label{fig:options-text}
\end{figure}

図\ref{fig:options-text}はテキストモードにおけるオプションメニューです.以下に
各オプションの詳細を列挙します:
%
\begin{description}
\item[use letter size instead of A4 by default%
(A4サイズの代わりにレターサイズをデフォルトで使用)]
デフォルトの用紙サイズを選択します.当然ながら,各ドキュメントのサイズはその都度
ドキュメントに合わせて指定することもできます.

\item[execution of restricted list of programs%
(制限リストにあるプログラムの実行を許可)]
\TL{} 2010以降,いくつかの外部プログラムの実行がデフォルトで許可されるようになり
ました.実行が許可されている(数少ない)プログラムのリストは\file{texmf.cnf}に
記載されています.詳細については\TL{} 2010のリリースノート(\ref{sec:2010news}%
節)を参照してください.

\item[create all format files(すべてのフォーマットファイルを作成)]
このオプションは有効にしておくことを推奨します.このオプションを無効にした場合,
各ユーザがフォーマットを使用したいときにフォーマットが動的に生成され,無用な
問題を生じる可能性があります.詳細は\prog{fmtutil}のドキュメントを参照してください.

\item[install font/macro \dots\ tree%
(フォント・マクロの 〜 ツリーをインストール)]
多くのパッケージに付属するソースファイルとドキュメントをダウンロード・インストール
するか否かを選択するオプションです.このオプションを無効化することは非推奨です.

\item[create symlinks in standard directories%
(標準ディレクトリにシンボリックリンクを作成)]
このオプションはUnix系のみで利用可能で,環境変数の変更を回避する手段です.この
オプションを有効にしない場合,\TL のディレクトリは通常手動で\code{PATH}, \code{%
MANPATH}, \code{INFOPATH}に追加する必要があります.ただし,シンボリックリンクの
作成先ディレクトリについて書き込み権限が必要です.このオプションは一般的に知られた
\dir{/usr/local/bin}などのディレクトリ(ただし\TeX 関連コマンドがまだインストール
されていない場所)に\TeX 関連コマンドを配置するためのものです.シンボリックリンクの
作成先にシステムディレクトリを指定するなどして,元々システムに存在していたファイルを
上書きしてしまわないように注意してください.安全のため,このオプションは有効にしない
ことをおすすめします.

\item[after install, set CTAN as source for package updates%
(CTANをインストール後のパッケージ更新元に設定)]
\TL をDVDからインストールする場合,このオプションはデフォルトで有効です.大抵の
場合,\TL のユーザは年内に行われるパッケージのアップデートを受け取りたいと考える
ためです.このオプションを無効化する場合があるとしたら,例えばDVDからは一部の
インストールのみを行って,後に(別の方法で)補強したいような場合でしょう.いずれに
せよ,インストール時およびインストール後に利用するパッケージリポジトリは,必要に
応じて独立に設定することが可能です.詳細は\ref{sec:location}節と\ref{sec:dvd-install%
-net-updates}節を参照してください.
\end{description}

Windowsのみで利用可能なオプションも,上級者向けのGUIインターフェースで利用可能
です:
%
\begin{description}
\item[adjust searchpath(検索パスを調整)]
このオプションによってすべてのプログラムが確実に検索パス中で\TL のバイナリを見つけ
られるようにします.

\item[add menu shortcuts(メニューにショートカットを追加)]
このオプションが有効の場合,スタートメニューに\TL サブメニューが追加されます.ここ
には`TeX Live menu'と`No shortcuts'の他に`Launcher entry'という第三の選択肢も
あります.このオプションについては\ref{sec:sharedinstall}節で説明します.

\item[file associations(拡張子の関連付け)]
このオプションでの選択肢は`Only new'(拡張子の関連付けを行うが,既に存在する関連
付けの上書きは行わない),`All',`None'の3つです.

\item[install \TeX works front end(統合開発環境\TeX worksをインストール)]
\end{description}

すべての設定が済みましたら,テキストモードでは`I'をタイプ,GUIモードでは
`Install'ボタンを押すことによってインストールを実行してください.インストール
が完了したら(他にすることがなければ)\ref{sec:postinstall}節までスキップして
ください.

\subsection{\cmd{install-tl}のコマンドラインオプション}
\label{sec:cmdline}

次を実行すると,\cmd{install-tl}のコマンドラインオプションの一覧を確認することが
できます:
%
\begin{alltt}
> install-tl -help
\end{alltt}
%
オプション名を指定するには\sopt{}または\lopt{}を利用できます.以下では,一般的な
オプションについてのみ説明します:
%
\begin{description}
\item[\sopt{gui}]
インストーラを(もし利用可能なら)GUIモードで起動します.GUIモードの実行には
バージョン8.5以上のTcl/Tkが必要です.Monterey以前のmacOSには同梱されていましたが,
それより後のバージョンの場合は\MacTeX インストーラを使用しないのであれば,別途
自力でインストールする必要があります.Windows用の\TL にはTcl/Tkが同梱されている
ため特に何もする必要はありません.古いオプションである\sopt{gui=perltk}と
\sopt{gui=wizard}は現在も利用可能ですが,普通のGUIインターフェースを起動します.
Tcl/Tkが利用可能でない場合,このオプションが指定された場合でもインストーラは
テキストモードで続行されます.

\item[\sopt{no-gui}]
インストーラを必ずテキストモードで起動します.

\item[\sopt{lang \meta{言語コード}}]
指定した\meta{言語コード}(通常2文字)にあたる言語を使用します(訳注:日本語を使用
したい場合は\sopt{lang ja}とします).インストーラは自動的に最適な言語で起動します
が,もし自動判定に失敗した場合や最適な言語が利用不可能な場合は,英語を使用します.
インストーラで利用可能な言語の一覧は\code{install-tl -help}で確認できます.

\item[\sopt{portable}]
\TL をUSBメモリなどにポータブルインストールします.ポータブルインストールは,
インストーラの起動後にテキストモードの\code{V}コマンドまたはGUIモードのメニュー
を利用して選択することもできます.詳細は\ref{sec:portable-tl}節を参照してください.

\item[\sopt{profile \meta{ファイル}}]
インストールプロフィール\meta{ファイル}を読み込み,非対話的にインストールを実行
します.なおインストーラは常に\file{texlive.profile}を\dir{tlpkg}ディレクトリに
書き込みます.このファイルを利用すると,まったく同じ設定でインストールを(例えば
別のシステムでも)再実行することが可能です.別の活用方法として,ご自身で用意した
カスタムプロフィール(生成された\file{texlive.profile}を改変するのが簡単です)を
使用したり,空のファイルを指定してすべてをデフォルト設定でインストールしたりする
こともできます.

\item[\sopt{repository \meta{リポジトリ}}]
パッケージリポジトリ(ディレクトリまたはURL)を指定します.下の\ref{sec:location}%
節を参照してください.

\item[\sopt{in-place}]
(警告:このオプションは何をしようとしているのか完全に承知している場合以外は使用
しないでください.)すでにrsyncやsvnまたはその他の手段で\TL のコピー(その入手元
については\url{https://tug.org/texlive/acquire-mirror.html}を参照)が手許にある
場合,このオプションを利用するとそのコピーをそのまま利用し,追加で必要となる
インストール後の処理だけを実行します.なお\file{tlpkg/texlive.tlpdb}は上書きされる
ので十分注意してください.また,既にあるパッケージの除去は手動で行う必要があります.
このオプションは起動後にインストーラのインターフェースで有効にすることはできません.
\end{description}

\subsubsection{\sopt{repository}オプション}
\label{sec:location}

デフォルトのネットワーク上パッケージリポジトリは\url{http://mirror.ctan.org}に
よって自動的に選択されるCTANミラーです.

このデフォルトを上書きしたい場合は,使用したいリポジトリを\code{ftp:}, \code{%
http:}, \code{https:}, \code{file:/}のいずれかからはじまるURL,または通常の
ディレクトリパスによって指定します(\code{http:}, \code{https:}, \code{ftp:}から
始まるリポジトリ指定を行った場合,末尾の`\code{/}'や`\code{/tlpkg}'は無視
されます).

例えばCTANの特定のミラーサーバを\url{http://ctan.example.org/tex-archive/%
systems/texlive/tlnet/}のように指定した場合,実際のホスト名と,そのホストに
おけるCTANのトップレベルパスを\code{ctan.example.org/tex-archive}の代わりに
使用します.CTANミラーの一覧は\url{https://ctan.org/mirrors}で確認できます.

もし与えられた引数が(パスまたは\code{file:/} URLの形で)ローカルのディレクトリ
を指していた場合,その下にある\dir{archive}サブディレクトリ内の圧縮ファイルが
(仮に展開済みのものがあったとしても)使用されます.

\subsection{インストール後のアクション}
\label{sec:postinstall}

場合によっては,インストール後に多少の手順を行う必要があるかもしれません.

\subsubsection{Unix系における環境変数の設定}
\label{sec:env}

インストール時に標準ディレクトリにシンボリックリンクを作成している(\ref{sec:%
options}節を参照)場合は,環境変数を変更する必要はありません.それ以外の場合,
Unix系システムでは各自適切なプラットフォーム向けのバイナリのあるディレクトリを
検索パスに追加する必要があります(Windowsではインストーラが行うので気にする
必要はありません).

\TL にサポートされている各プラットフォームには\dir{TEXDIR/bin}以下に専用の
サブディレクトリがあります.専用サブディレクトリのリストと,それぞれに対応する
プラットフォームについては図\ref{fig:bin-text}を参照してください.

さらに,必要であればmanページとinfoマニュアルを含むディレクトリを,それぞれの
検索パスに追加することができます.ただしmanページについては\code{PATH}を設定
することによって自動的に検索可能になる場合もあります.

例えば,Intel x86アーキテクチャ上のGNU/Linuxで\prog{bash}などBourneシェルと
互換性のあるシェルを使用していて,なおかつ\TL デフォルトのディレクトリ設定の
環境の下では\file{$HOME/.profile}(もしくは\file{.profile}から読み込まれている
別のファイルでも構いません)に次のような行を追加することで環境変数を設定できます:
%
\begin{sverbatim}
PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH; export INFOPATH
\end{sverbatim}
%
cshやtcshの場合は,編集すべきファイルは典型的には\file{$HOME/.cshrc}で,次の
ような行を追加します:
%
\begin{sverbatim}
setenv PATH /usr/local/texlive/2022/bin/x86_64-linux:$PATH
setenv MANPATH /usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
\end{sverbatim}
%
利用しているプラットフォームが\code{x86\_64-linux}でない場合は,適切な
プラットフォーム名を使用してください.またデフォルトのディレクトリ以外の
場所にインストールを行った場合は,ディレクトリ名も対応するものに変更して
ください.\TL インストーラはインストールの完了時にそれぞれのフルパスを
報告します.

すでに\code{PATH}をどこかの起動時設定ファイルで設定している場合は,
適当だと思う方法で\TL ディレクトリを含めるようにしてください.

\subsubsection{環境変数をグローバルに設定する}
\label{sec:envglobal}

もし前節で説明したような環境変数の変更をシステム全体に適用したい場合や,新しい
ユーザにも適用したい場合は,自力で設定を行ってください.なぜなら,そのような
ことを実現する方法は,システムによってあまりに異なるからです.

ここでは2つほど大まかな方針を示しておきます.第一に\file{/etc/manpath.config}%
というファイルの存在を確かめて,もし存在していたら次のような内容を追記します:
%
\begin{sverbatim}
MANPATH_MAP /usr/local/texlive/2022/bin/x86_64-linux \
            /usr/local/texlive/2022/texmf-dist/doc/man
\end{sverbatim}
%
第二に各種の検索パスや環境変数のデフォルト値を設定するためのファイル\file{%
/etc/environment}の内容を確認することです.

各Unix系システム向けのバイナリディレクトリには,\file{man}という名前の
\dir{texmf-dist/doc/man}を指すシンボリックリンクが作成されています.一部の
\prog{man}プログラム(例えばmacOSの標準\cmd{man}コマンド)は,これを利用
して自動的にmanページの設定を最適化してくれる場合があります.

\subsubsection{DVDインストール後のインターネットを利用したアップデート}
\label{sec:dvd-install-net-updates}

\TL をDVDからインストールした後,インターネットを利用してアップデートを行いたい
場合は,以下のコマンドを検索パスの設定の\emph{後}に行ってください:
%
\begin{alltt}
> tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet
\end{alltt}
%
これによって以降\cmd{tlmgr}は最寄りのCTANミラーを利用してアップデートを行う
ようになります.DVDからのインストール時に\ref{sec:options}節で説明したオプション
を介してこの設定をデフォルトにしておくこともできます.

もしミラーの自動選択では問題がある場合は,\url{https://ctan.org/mirrors}から特定の
CTANミラーを指定することもできます.その際は\dir{tlnet}サブディレクトリまでの
パスを正確に指定するようにしてください.

\subsubsection{\XeTeX と\LuaTeX のためのシステム設定}
\label{sec:font-conf-sys}

\XeTeX と\LuaTeX では,\TeX ツリーに存在するものだけでなく,システムにインストール
されているあらゆるフォントを利用することができます.これらのエンジンは互いに関連
する方法でこれを実現していますが,そのしくみはまったく同じではありません.

Windowsでは,\TL に含まれているフォントは自動的にフォント名を指定するだけで\XeTeX
から利用できるように設定されます.macOSでは,フォント名による検索を有効にする
ためにはいくつかの手順が必要です(詳細は\MacTeX のウェブサイト\url{https://tug.org/%
mactex}を参照してください).他のUnix系システムでの設定方法は,以下の通りです.

この設定を簡単にするために,\pkg{xetex}パッケージのインストール時(最初の\TL
インストール時または追加インストール時)に必要な設定が\file{TEXMFSYSVAR/fonts/%
conf/texlive-fontconfig.conf}に作成されます.\TL フォントをシステム全体で利用できる
ようにするためには,次の手順を実行します(そのために必要な権限は持っているものと
します):
%
\begin{enumerate}[nosep]
\item \file{texlive-fontconfig.conf}を\dir{/etc/fonts/conf.d/09-texlive.conf}に
  コピーする.
\item \code{fc-cache -fsv}を実行する.
\end{enumerate}

\cmd{fc-list}を実行するとシステムにあるフォントの一覧を確認することができます.
また\code{fc-list : family style file spacing}(タイプミスに注意してください)
とすると,もう少し詳細な情報を表示することができます.

\subsubsection{{\ConTeXt} Mark IV}
\label{sec:context-mkiv}

「古い」{\ConTeXt} (Mark II)と「新しい」{\ConTeXt} (Mark IV)はいずれも\TL の
インストール後はそのままで動く状態になっているはずで,\cmd{tlmgr}を使用して
アップデートを行っている限りは特に特別な設定を行う必要はありません.

しかしながら,{\ConTeXt} MkIVは\KPS ライブラリを使用していないので,\cmd{tlmgr}%
を使用せず手動で新しいファイルをインストールした場合にはいくつかの設定を行う
必要があります.そのような手動インストールを行った場合には,MkIVユーザは次を
実行して\ConTeXt のディスクキャッシュデータをクリアする必要があります:
%
\begin{alltt}
> context -generate
\end{alltt}
%
なお,この操作によって生成されるファイルは\code{TEXMFCACHE}(デフォルト値は
\code{TEXMFSYSVAR;TEXMFVAR})以下に保存されます.

{\ConTeXt} MkIVは\code{TEXMFCACHE}に列挙されているパスを前から確認し,そして
書込み可能な最初の場所にキャッシュを作成します.読み込みの際は,複数の
キャッシュが見つかった場合は(見つかったキャッシュの中で)一番最後のパスに
あるものが優先されます.

より詳細な情報については\url{https://wiki.contextgarden.net/Running_Mark_IV}%
を参照してください.

\subsubsection{ローカルおよび個人用のマクロを利用する}
\label{sec:local-personal-macros}

ローカルおよび個人用のマクロの配置方法については\ref{sec:texmftrees}節でも簡単に
言及しましたが,\code{TEXMFLOCAL}(デフォルトでは\dir{/usr/local/texlive/texmf-%
local}または\winpath{\winenv{SystemDrive}\\texlive\\texmf-local})はシステム全体
に適用したいローカルなフォントやマクロを,\code{TEXMFHOME}(デフォルトでは\dir{%
$HOME/texmf}または\winpath{\winenv{USERPROFILE}\\texmf})はユーザごとの個人用
フォントやマクロを配置するためのものです.これらのディレクトリは毎年のリリース
とは切り離して管理されることが意図されており,そこに含まれているファイルは自動的
に各\TL リリースから検索できるようになっています.したがって,\code{TEXMFLOCAL}%
の値をメインの\TL ツリーとあまりかけ離れた位置に変更することは避けるべきです.
さもないと将来のリリースの際に手動で変更を行う必要が発生する可能性があります.

いずれのツリーについても,それぞれのファイルはTDSに基づいたサブディレクトリに
配置されているべきです(\url{https://tug.org/tds}や\file{texmf-dist/web2c/texmf.%
cnf}を参照してください).例えば\LaTeX のクラスファイルやパッケージは\dir{%
TEXMFLOCAL/tex/latex}や\dir{TEXMFHOME/tex/latex},あるいはそれより下の階層に配置
されているべきです.

\dir{TEXMFLOCAL}については最新の状況を反映したファイル名データベースがないと,
その中にあるファイルが見つけられません.データベースは\cmd{mktexlsr}コマンドを
実行するか,GUI版\TL マネージャで`Update filename database'ボタンを押すことに
よって更新することができます.

デフォルトでは,これまで見てきたように各TEXMFツリーを表す変数は1つのディレクトリ
を指すように定義されています.しかし,これは絶対そうでなければならないわけでは
ありません.例えば,もし複数のバージョンの大きなパッケージを簡単に切り替える必要
があるような場合は,複数のツリーを用意した上で\code{TEXMFHOME}をブレースで囲わ
れたカンマ区切りのディレクトリ名リストに設定するとよいでしょう:
%
\begin{verbatim}
  TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}
\end{verbatim}
%
ブレース展開については\ref{sec:brace-expansion}節により詳しい解説があります.

\subsubsection{サードパーティフォントを利用する}

残念ながら\TeX と\pdfTeX に関しては,これは泥沼への入り口です.\TeX インストール
の深淵に飛び込みたい場合を除いては,すべての\TeX 処理系でサードパーティフォント
を利用できるようにすることは諦めた方が無難です.\TL には数多くのフォントが
含まれているので,それらの中に適当なものがないか探してみてください.TUGのウェブ
ページ\url{https://tug.org/FontCatalogue}には主要な\TeX ディストリビューションで
利用可能なフォントのほとんどすべてが,さまざまな観点から分類されて,一覧になって
います.

もしどうしてもサードパーティフォントを一般の\TeX 処理系で利用できるように設定を
行う必要がある場合は,\url{https://tug.org/fonts/fontinstall.html}にその方法に
ついて(可能な範囲での)解説がありますので,参考にしてください.

また\XeTeX または\LuaTeX (\ref{sec:tex-extensions}節)の利用も検討に値します.
これらの処理系であれば\TeX のために特別な設定を行わなくてもOSにインストール
されたあらゆるフォントを利用することができます(ただし,システムフォントを利用
すると,その文書は他の環境では簡単に作成できなくなる点には注意してください).

\begin{janote}
上述の通り,\XeTeX や\LuaTeX を除く古典的な\TeX 処理系でサードパーティフォント
を利用するのは難しいです.\pTeX や\upTeX 用にサードパーティの和文フォントを設定
するのもやはり難易度が高く,初心者にはおすすめできません(自由にフォントを選び
たい場合は\LuaTeX-ja の利用を検討してください).しかし,幸い\TL にはよく
使われる和文フォントの埋め込みについて設定を自動化するためのプログラム
\cmd{kanji-config-updmap}が付属しています.詳細は\TL に含まれる
\cmd{kanji-config-updmap}のドキュメント(日本語)を参照してください.
\end{janote}

\subsection{インストールした\TL をテストする}
\label{sec:test-install}

\TL をインストールした後,美しい文書やフォントの作成を始めるために\TL が正常に
動作するかテストしたいと思うのが普通でしょう.

おそらく,多くの人がまず最初に動作確認したいのはファイル編集を行うフロントエンド
でしょう.\TL はWindows(のみ)では{\TeX}works (\url{https://tug.org/texworks}) を,
\MacTeX は{\TeX}Shop (\url{https://pages.uoregon.edu/koch/texshop}) をインストール
します.他のUnix系システムではどのエディタを利用するかはユーザが決めてください.
エディタの選択肢はとてもたくさんあり,その一部は次のセクションでリストアップされて
います.また\url{https://tug.org/interest.html#editors}も参考になるかと思います.
基本的にはどんなテキストエディタでも使用できます.\TeX のための特別な機能は,
なくてならないものではありません.

残りのセクションでは,新しい\TL が正常に動作するか確認する基本的な手順を解説します.
なお,ここではUnixコマンドを使用した方法を紹介します.macOSやWindowsのユーザは,
GUIを利用してテストをしたいと考えるかもしれませんが,根本的な部分は変わりません.

\begin{enumerate}
\item まずはじめに,\cmd{tex}プログラムが実行可能であることを確認しましょう:
%
\begin{alltt}
> tex -version
TeX 3.14159265 (TeX Live ...)
Copyright ... D.E. Knuth.
...
\end{alltt}
%
もしこれを実行したとき,正しいバージョン情報・コピーライト情報の代わりに`command
not found'エラーが出たり,古いバージョン情報が表示される場合は,正しい\dir{bin}%
ディレクトリが\code{PATH}に追加されていない可能性があります.そのような場合は\p.%
\pageref{sec:env}にある環境変数設定の情報を確認してください.

\item 基本的な\LaTeX ファイルを処理して,PDFを生成してみましょう:
%
\begin{alltt}
> pdflatex sample2e.tex
This is pdfTeX 3.14...
...
Output written on sample2e.pdf (3 pages, 142120 bytes).
Transcript written on sample2e.log.
\end{alltt}
%
\file{sample2e.tex}やその他のファイルが見つからないというエラーが出る場合は,
古い環境変数の設定や設定ファイルの影響を受けてしまっている可能性が高いです.
まずは\TeX 関係の環境変数をすべてクリアすることをおすすめします.(より詳細に
分析したい場合は,\TeX 自身に何を検索し,何を見つけたのか報告させるのが良い
でしょう.詳細は\ref{sec:debugging}節を参照してください.)

\item 処理結果のPDFファイルをプレビューしてみます.例えば次のようにします:
%
\begin{alltt}
> xpdf sample2e.pdf
\end{alltt}
%
すると,新しいウィンドウがポップして\LaTeX の基礎について説明した素敵な文書が
表示されるはずです(ところで,もし\TeX を使うのが初めてでしたら,その内容も
一読の価値があります).

もちろんPDFビューアは他にも色々なものがあります.Unix系システムでは
\cmd{evince}や\cmd{okular}がよく用いられます.Windows向けのものとしては
Sumatra PDF (\url{https://www.sumatrapdfreader.org/free-pdf-reader.html})
をおすすめします.\TL にはPDFビューアは含まれていないので,PDFの閲覧には
何かしらを必ず別途インストールする必要があります.

\item もちろん,いまでも\TeX の元来の出力フォーマットであるDVIを生成する
こともできます:
%
\begin{alltt}
> latex sample2e.tex
\end{alltt}

\item DVIをプレビューするには:
%
\begin{alltt}
> xdvi sample2e.dvi    # Unix
> dviout sample2e.dvi  # Windows
\end{alltt}
%
なお\cmd{xdvi}コマンドを利用するにはXウィンドウシステムが正しく動作している
必要があります.正常に動作していない場合や,環境変数\code{DISPLAY}の設定が
まずい場合は\samp{Can't open display}エラーが発生します.

\item 続いてDVIから\PS ファイルを作成してみましょう:
%
\begin{alltt}
> dvips sample2e.dvi -o sample2e.ps
\end{alltt}

\item あるいはDVIからPDFに変換することもできます.これは\pdfTeX (あるいは
\XeTeX や\LuaTeX)を使わない手段として有用な場合があります(訳注:日本語組版
では今でもよく用いられる\pTeX 系の処理系はDVIを出力するため,現在も
\cmd{dvipdfmx}を用いてPDF生成を行う手順は一般的です).
%
\begin{alltt}
> dvipdfmx sample2e.dvi -o sample2e.pdf
\end{alltt}

\item \file{sample2e.tex}以外でテストのために利用できる標準的なファイルを以下に
示しておきます:
%
\begin{description}
\item [\file{small2e.tex}]
\file{sample2e.tex}よりもシンプルな文書です.なにか問題が発生したときに,より
入力サイズの小さいものとして利用できます.

\item [\file{testpage.tex}]
プリンタにオフセットがあるかどうかを確認するための文書です.

\item [\file{nfssfont.tex}]
フォントテーブルを出力・テストするためのものです.

\item [\file{testfont.tex}]
plain \TeX を用いて,同じくフォントテーブルを出力するものです.

\item [\file{story.tex}]
最も標準的な (plain) \TeX のテスト用ファイルです.\code{tex story.tex}を実行
後,\code{*}プロンプトに\samp{\cs{bye}}を入力する必要があります.
\end{description}

\item \pkg{xetex}パッケージをインストールしている場合には,\XeTeX がシステム
フォントを正常に利用できるかどうかテストすることができます:
%
\begin{alltt}
> xetex opentype-info.tex
This is XeTeX, Version 3.14\dots
...
Output written on opentype-info.pdf (1 page).
Transcript written on opentype-info.log.
\end{alltt}
%
もし``Invalid fontname `Latin Modern Roman/ICU'\dots''というエラーメッセージ
が表示された場合は,\TL に含まれるフォントを見つけられるように設定を行う必要
があります.\ref{sec:font-conf-sys}節を参照してください.
\end{enumerate}

\subsection{アンインストール}
\label{sec:uninstall}

(一度インストールに成功した後に)\TL をアンインストールには,以下のコマンドを
実行します:
%
\begin{alltt}
> tlmgr uninstall --all
\end{alltt}
%
上記を実行すると,本当にアンインストールを行うかどうか確認されます.この確認を
行わない限りは,アンインストールは実行されません.(なお\lopt{all}の付かない
\code{uninstall}アクションは,1つ1つのパッケージを個別にアンインストールする
ためのものです.)

このアクションでは,以下に列挙するユーザ固有のディレクトリは削除しません
(\ref{sec:texmftrees}節も参照).
%
\begin{description}
\item[\code{TEXMFCONFIG}]
ユーザによる設定変更を行うためのツリーです.変更済みの設定を維持したい場合は,
削除する前に復元方法を確認するようにしてください.

\item[\code{TEXMFVAR}]
自動生成された実行時データ(ローカルのフォーマットファイルなど)を保存することを
意図したツリーです.他の目的で利用していない限りは削除しても問題はありません.

\item[\code{TEXMFHOME}]
このツリーにはユーザ自身がインストールしたファイル(ディストリビューションに
未収録のものなど)だけが含まれます.完全に\TeX の利用をやめる場合や,まったく
新しい\TeX 環境を新たに構築したい場合を除いては,このツリーは削除しない方が
よいでしょう.
\end{description}
%
こうしたツリーのパス位置は\code{kpsewhich -var-value=\meta{ツリー}}を実行する
ことで確認することができます.

\prog{tlmgr}によるアンインストールではインストール後のアクション結果を復帰する
ところまでは行いません.例えばシェルの初期化ファイルにおける\code{PATH}の変更や
\TL 内のフォントをシステムに認識させる設定はそのままになります(\ref{sec:%
postinstall}節参照).必要な場合は,これらの設定は自力で元に戻す必要があります.

WindowsではGUIを用いてアンインストールを行うことができます.
\ref{sec:winfeatures}節を参照してください.

\subsection{その他のダウンロード可能なソフトウェア}

\TeX 初心者や\LaTeX 文書を実際に作成するにあたってヘルプが必要な方は,ぜひ
\url{https://tug.org/begin.html}にアクセスしてみてください.いくつかの初心者
向けの情報を掲載しています.

ここではインストールの検討に値する各種ツールへのリンクを列挙しておきます:
%
\begin{description}
\item[Ghostscript] \url{https://ghostscript.com/}(PostScript/PDFインタプリタ)
\item[Perl] \url{https://www.perl.org/}%
  (追加パッケージはCPAN (\url{https://www.cpan.org/}) から入手可)
\item[ImageMagick] \url{https://imagemagick.org/}(画像の加工や変換)
\item[NetPBM] \url{http://netpbm.sourceforge.net/}(こちらも画像用ツール)
\item[\TeX 向きのエディタ] テキストエディタの選択肢はかなり多岐にわたり,その
  選択は完全に各自の好みによります.ここでは主なものをアルファベット順に紹介
  しておきます(一部はWindows専用です).
  \begin{itemize}
  \item \prog{GNU Emacs}: \url{https://www.gnu.org/software/emacs/emacs.html}%
    (多くの主要なプラットフォームで利用可能)
  \item \prog{Auc\TeX}: \url{https://www.gnu.org/software/auctex}%
    (Emacsプラグイン.EmacsのパッケージマネージャELPAでインストール可能.ソースは
    CTANからも入手可)
  \item \prog{SciTE}: \url{https://www.scintilla.org/SciTE.html}
  \item \prog{Texmaker}: \url{https://www.xm1math.net/texmaker}
  \item \prog{\TeX studio}: \url{https://texstudio.org/}%
    (\prog{Texmaker}の拡張プロジェクト.pro\TeX{}tでは標準添付)
  \item \prog{\TeX nicCenter}: \url{http://www.texniccenter.org}
  \item \prog{\TeX works}: \url{https://tug.org/texworks}%
    (Windows版\TL では標準添付)
  \item \prog{Vim}: \url{https://www.vim.org}
  \item \prog{WinEdt}: \url{https://tug.org/winedt}, \url{http://www.winedt.com}%
    (シェアウェア)
  \item \prog{WinShell}: \url{https://www.winshell.de}
  \end{itemize}
\end{description}

\section{特殊なインストール}

ここまでは基本的なインストール手順について説明してきました.このセクションでは,
いくつかの特殊なインストールについて解説します.

\subsection{共有インストール}
\label{sec:sharedinstall}

\TL はネットワーク上の複数のシステムで共有できるように設計されています.標準の
ディレクトリ構成では,いかなるパスもハードコードされていません.\TL に含まれる
プログラムは必要なファイルを相対パスによって探索します.このことは,\TL の根幹に
あたる設定ファイル\file{$TEXMFDIST/web2c/texmf.cnf}を見ればわかります.そこには
%
\begin{sverbatim}
TEXMFROOT = $SELFAUTOPARENT
...
TEXMFDIST = $TEXMFROOT/texmf-dist
...
TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local
\end{sverbatim}
%
のような記述が並んでいるはずです.この仕組みのおかげで,各プラットフォーム向け
の実行ファイルを,それぞれの検索パスに追加するだけで\TL が機能するように設定
できます.

同様に,一度ローカルに\TL をインストールし,そのすべての階層をネットワーク上の
場所に移動することも可能です.

Windows向けには,\TL は\cmd{tlaunch}というランチャーを含んでいます.そのメイン
画面のメニューには種々の\TeX 関連プログラムおよびドキュメントについてアクション
を起こすためのボタンがあります.この画面は\code{ini}ファイルによってカスタマイズ
することも可能です.初回起動時には,それらのボタンは通常のWindows向けポスト
インストールを実行(すなわち検索パスと拡張子の関連付けを更新)しますが,この操作
は現在ログイン中のユーザにしか適用されません.したがって,ローカルネットワークに
アクセスできる各システムで\TL を利用できるようにするためには,\cmd{tlaunch}に
メニューショートカットを追加するだけで事足ります.詳細については\cmd{tlaunch}の
マニュアルを参照してください(\code{texdoc tlaunch}を実行するか\url{https://%
ctan.org/pkg/tlaunch}にアクセスすると閲覧できます).

\subsection{ポータブル (USB) インストール}
\label{sec:portable-tl}

\TL インストーラに\sopt{portable}オプションを与えると(テキストモードで\code{V}%
コマンドを実行したりGUIモードで同等のオプションを利用した場合も同様です)\TL
は完全に自己完備のインストールを標準的なルート以下に作成します.これはシステムの
いかなる環境にも依存しません.このような構成の\TL はUSBメモリに直接インストール
したり,後からUSBにコピーしたりすることができます.

具体的には,ポータブルインストールでは\code{TEXMFHOME}, \code{TEXMFVAR}, \code{%
TEXMFCONFIG}のデフォルト値をそれぞれ\code{TEXMFLOCAL}, \code{TEXMFSYSVAR},
\code{TEXMFSYSCONFIG}と一致するように設定することで,自己完結するようになって
います.そのため,ユーザごとの設定やキャッシュが作られることはありません.

ポータブルインストールされた\TeX を実行するには,通常通り実行ファイルのある適切な
ディレクトリを(端末セッションの間)検索パスに追加する必要があります.

Windowsでは,ポータブルインストールのルートにある\cmd{tl-tray-menu}をダブルクリック
することによって一時的な`tray menu'が作成され,これを用いていくつかの一般的なタスク
を実行することができます:
%
\medskip
\tlpng{tray-menu}{4cm}
\smallskip
%
この画面で`More\ldots'を押すと,このメニューのカスタマイズ方法についての説明が表示
されます.

\section{\prog{tlmgr}: \TL マネージャ}
\label{sec:tlmgr}

\begin{figure}[tb]
\tlpng{tlshell-macos-ja}{\linewidth}
\caption{\prog{tlshell} GUIのアクションメニュー (macOS)}
\label{fig:tlshell}
\end{figure}

\begin{figure}[tb]
\tlpng{tlcockpit-packages}{.8\linewidth}
\caption{\prog{tlmgr}の新しい{GUI} (\prog{tlcockpit})}
\label{fig:tlcockpit}
\end{figure}

\begin{figure}[tb]
\tlpng{tlmgr-gui}{\linewidth}
\caption{\prog{tlmgr}のレガシーGUIモード.`Load'後のメインウィンドウ}
\label{fig:tlmgr-gui}
\end{figure}

\TL にはインストール後の\TL 管理のために\prog{tlmgr}というプログラムが同梱されて
います.その主な機能は:
%
\begin{itemize}
\item 個別パッケージのインストール,アップデート,バックアップ,アンインストール
  (依存関係管理も可)
\item パッケージの検索と詳細の表示
\item プラットフォームの表示,追加,削除
\item インストールオプションの変更(デフォルトの用紙サイズやソースの場所)
\end{itemize}

\prog{texconfig}の機能はすべて\prog{tlmgr}にも備わっています.\TL チームは\prog{%
texconfig}の操作に慣れている方々のために依然としてその配布およびメンテナンスを継続
していますが,\prog{tlmgr}を使用することをおすすめします.

\subsection{\prog{tlmgr}のGUI}

\TL には\prog{tlmgr}のGUIフロントエンドが複数含まれています.重要なものが2つあり
ます.ひとつは図\ref{fig:tlshell}で示されている\prog{tlshell}というTcl/Tkを利用
したGUIで,WindowsとmacOSで利用可能です.もうひとつは図\ref{fig:tlcockpit}で
示されている\prog{tlcockpit}で,動作にはバージョン8以降のJavaとJavaFXが必要です.
これらはいずれも独立したパッケージです.

\prog{tlmgr}もネイティブのGUIモードを持っています(図\ref{fig:tlmgr-gui}):
%
\begin{alltt}
> tlmgr -gui
\end{alltt}
%
しかし,このGUI拡張の実行にはPerl/Tkが必要です.現在はWindows向けの\TL には
Perl/Tkモジュールは同梱されていないので注意してください.

\subsection{コマンド使用例}

最初のインストールののち,\TL を最新の状態にアップデートするには:
%
\begin{alltt}
> tlmgr update -all
\end{alltt}
%
もし実際のアップデートを実行する前に何が起きるかを確認したい場合は:
%
\begin{alltt}
> tlmgr update -all -dry-run
\end{alltt}
%
または(出力メッセージを減らすなら)
%
\begin{alltt}
> tlmgr update -list
\end{alltt}

もう少し複雑な例として,\XeTeX 用のコレクションをローカルディレクトリから追加
する方法を示します:
%
\begin{alltt}
> tlmgr -repository /local/mirror/tlnet install collection-xetex
\end{alltt}
%
これを実行すると,次のような出力が表示されます(一部省略しています):
%
\begin{fverbatim}
install: collection-xetex
install: arabxetex
...
install: xetex
install: xetexconfig
install: xetex.i386-linux
running post install action for xetex
install: xetex-def
...
running mktexlsr
mktexlsr: Updating /usr/local/texlive/2022/texmf-dist/ls-R...
...
running fmtutil-sys --missing
...
Transcript written on xelatex.log.
fmtutil: /usr/local/texlive/2022/texmf-var/web2c/xetex/xelatex.fmt installed.
\end{fverbatim}

上の出力からわかるように,\prog{tlmgr}は依存パッケージもインストールし,ファイル名
データベースの更新やフォーマットの(再)生成など必要なインストール後処理も自動的に
実行しています.ここでは\XeTeX 用の新しいフォーマットが生成されています.

パッケージ(またはコレクション,スキーム)の詳細を確認するには次のようにします:
%
\begin{alltt}
> tlmgr show collection-latexextra
\end{alltt}
%
これにより以下のような出力が得られるはずです:
%
\begin{fverbatim}
package:    collection-latexextra
category:   Collection
shortdesc:  LaTeX supplementary packages
longdesc:   A very large collection of add-on packages for LaTeX.
installed:  Yes
revision:   46963
sizes:      657941k
\end{fverbatim}
%
最後に,最も大事なことですが,フルドキュメントを確認するには\url{https://tug.org/%
texlive/tlmgr.html}にアクセスするか,以下を実行してください:
%
\begin{alltt}
> tlmgr -help
\end{alltt}

\section{Windows向けの情報}
\label{sec:windows}

\subsection{Windows専用の機能}
\label{sec:winfeatures}

Windowsでは\TL インストーラはいくつか追加の処理を行います:
%
\begin{description}
\item[メニューとショートカット]
スタートメニューに`\TL'サブメニューを追加します.このサブメニューから\prog{tlshell}%
(\prog{tlmgr}のGUI)や\prog{dviout}などのGUIプログラムや,いくつかのドキュメントに
アクセスすることができます.

\item[拡張子の関連付け]
設定が有効になっている場合,\prog{\TeX works}, \prog{Dviout}などを,それぞれが
扱う拡張子に関連付けます.あるいは,関連するファイルを右クリックして「プログラム
から開く」を選択した場合にこれらのプログラムが候補に挙がるようになります.
しかしながら,より優先度の高い「ユーザ選択」のファイル関連付け(対話的にのみ
設定できる)が存在する場合,そちらが優先されることになります.

\item[PostScriptサポート]
PostScriptファイルは現在ではPSviewerによって一時的にPDFに変換された上でデフォルトの
PDFビューアで表示されるようになりました.各種のビットマップ画像を右クリックして
「プログラムから開く」を選択した場合に\prog{bitmap2eps}を選択できるようになります.
\prog{bitmap2eps}はシンプルなスクリプトで,バックエンドとして\prog{sam2p}や\prog{%
bmeps}を利用します.

\item[自動パス設定]
Windowsでは手動でパス設定を行う必要はありません.

\item[アンインストーラ]
\TL のインストーラは「プログラムの追加と削除」メニューの中(管理者権限でインストール
した場合)または\TL メニューの中(単一のユーザのみにインストールした場合)に\TL を
アンインストールするための項目を追加します.

\item[書き込み禁止]
管理者として\TL をインストールした場合,\TL のディレクトリは書き込み禁止に設定され
ます(通常のNTFSフォーマット内蔵ディスクにインストールした場合).
\end{description}

また\prog{tlaunch}(\ref{sec:sharedinstall}節)も参照してみてください.

\subsection{Windows向けに追加されているソフトウェア}

\TL を完全にインストールするためには,Windowsマシンには通常存在していないプログラム
が必要となります.そのため\TL はWindows向けに一部の依存パッケージを同梱しています.
以下に列挙するプログラムはWindows版の\TL にのみ含まれています:
%
\begin{description}
\item[Perl, Tcl/Tk, Ghostscript]
PerlとGhostscriptは重要なプログラムであること,また\TL インストーラのGUIモードや
\prog{tlshell}がTcl/Tkを利用することから\TL には\kenten{隠された}それらのコピーが
含まれています.これらのプログラムは\TL のプログラムからは利用可能ですが,環境変数や
レジストリ設定の上では存在していないことになっています.\TL に同梱されているPerlと
Ghostscriptは完全版ではなく,またシステムに別途インストールされたものとは一切干渉
しません.

\item[dviout]
DVIビューア.初期状態では,ファイルを\prog{dviout}でプレビューしようとすると,
フォント生成が行われるはずです.これはスクリーンフォントがインストールされていない
ためです.しばらく使用していると,頻繁に利用されるフォントの生成が完了するため,
フォント生成ウィンドウが現れることは稀になります.詳細はオンラインヘルプ(おすすめ)
を参照してください.

\item[\TeX works]
PDFビューア機能をもつ\TeX 用の統合開発環境.

\item[各種コマンドラインツール]
\TL バイナリと同時に,多数のWindows移植版のUnixコマンドもインストールされます.\cmd{%
gzip}, \cmd{zip}, \cmd{unzip}や\prog{poppler}関連の\cmd{pdfinfo}, \cmd{pdffonts}など
です.

\item[fc-list, fc-cache, \ldots]
これらのフォント管理ライブラリを利用して\XeTeX からWindows上のフォントを利用できます.
\prog{fc-list}を用いると\XeTeX 拡張の\cs{font}コマンドに与えるべきフォント名を決定
することができます.必要に応じて\prog{fc-cache}を事前に実行してフォント情報を更新して
ください.
\end{description}

\subsection{ユーザプロファイルがホームディレクトリ扱い}
\label{sec:winhome}

Windowsにおいて,Unix系のホームディレクトリに相当するのは\winenv{USERPROFILE}ディレクトリ
です.Windows Vista以降のWindowsでは,そのデフォルト値は\winpath{C:\\Users\\<username>}%
です.\file{texmf.cnf}内および\KPS 全般において,\dir{~}はWindowsとUnix系のいずれにおいて
も適切に展開されます.

\subsection{レジストリ}
\label{sec:registry}

Windowsではほとんどすべての設定データはレジストリに保存されます.レジストリには数個の
ルートの下に階層的に構成されたキーが多数含まれています.簡単に言うと,インストール
プログラムにとって最も重要なものは\var{HKEY\_CURRENT\_USER}と\var{HKEY\_LOCAL\_MACHINE}%
(略称は\var{HKCU}と\var{HKLM})です.レジストリのキー\var{HKCU}はユーザのホーム
ディレクトリ内を参照します(\ref{sec:winhome}節を参照).\var{HKLM}は通常Windows%
ディレクトリ内のサブディレクトリです.

一部の項目については環境変数によってシステム情報を引き渡すことができますが,ショート
カットの位置などはレジストリを変更しないことには設定を反映することができません.また
環境変数の値を恒久的に変更するのにもレジストリを編集する必要があります.

\subsection{パーミッション}
\label{sec:winpermissions}

最近のバージョンのWindowsでは,管理者のみにOSのほぼ全体へのアクセス権があり,一般
ユーザにはありません.\TL は管理者権限がなくてもインストール可能なように工夫されて
います.

管理者権限でインストーラが実行されているときは,全ユーザ向けにインストールを行うため
のオプションが利用可能です.このオプションを選択した場合,全ユーザ向けにショートカット
が作成され,またシステムの検索パスも変更されます.逆に,このオプションを選択しなかった
場合はシュートカットとメニュー項目はインストーラを実行したユーザ向けにのみ作成され,
そのユーザの検索パスだけが更新されます.

管理者として実行するか否かに関わらず,インストーラは常にデフォルトの\TL ルートを
\winenv{System\-Drive}以下に設定します.インストーラは,必ず設定しようとしているルート
位置が現在の実行権限で書き込み可能かどうか確認します.

検索パスに\TeX が存在する状態で,一般ユーザとして\TL のインストールを実行しようとする
と問題が発生します.システムの検索パスはユーザの検索パスよりも優先されるので,この
状況で\TL をインストールしても優先的に利用されることはありません.フォールバック
として,インストーラは新しくインストールされた\TL バイナリのディレクトリがローカル
検索パスの先頭にくるようコマンドプロンプトにショートカットを作成します.そのため,
このフォールバックが有効なコマンドプロンプトからは常に新しい\TL が利用可能です.
\TeX worksがインストールされている場合,その検索パスについても\TL が先頭にくるよう
設定されるため,同様に検索パスの問題は回避されるはずです.

Windowsでは管理者アカウントにログインしていても,明示的に管理者権限としての実行を指示
する必要があることに注意してください.実際のところ,管理者アカウントにログインする
だけではあまり意味がありません.肝心なのは,プログラムやショートカットを右クリックし
「管理者として実行」を選択することです.

\subsection{WindowsとCygwinでメモリ上限を増やす方法}
\label{sec:cygwin-maxmem}

WindowsとCygwin(Cygwinインストールの詳細については\ref{sec:cygwin}節を参照してくだ
さい)では,\TL に含まれるいくつかのプログラムがメモリを使い果たす場合があります.
例えば\prog{asy}で2,500万要素の実数配列を確保しようとしたり,\LuaTeX で多書体組を
行おうとしたりするとメモリが不足する可能性があります.

Cygwinではユーザマニュアル (\url{https://cygwin.com/cygwin-ug-net/setup-maxmem.%
html}) の説明に従うことによってメモリ上限を増やすことができます.

Windowsの場合はいくつかの手順を行う必要があります.まず\code{moremem.reg}という
ファイルに以下の内容を書き込みます:
%
\begin{sverbatim}
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Cygwin]
"heap_chunk_in_mb"=dword:ffffff00
\end{sverbatim}
%
その上で,管理者権限で\code{regedit /s moremem.reg}を実行してください.(もし
システム全体ではなく,現在利用中のユーザのみについてメモリ上限を変更したい場合は
\var{HKEY\_CURRENT\_USER}を使用してください.)

\section{Web2Cユーザガイド}

\Webc は\TeX 関連プログラムのコレクションです.これにはオリジナルの\TeX そのものに
加えて\MF, \MP, \BibTeX などが含まれており,\TL の心臓部と言えます.最新版のマニュアル
やその他の情報はウェブサイト (\url{https://tug.org/web2c}) に掲載されています.

少し\Webc の歴史的経緯について触れておきます.\Webc のオリジナル作者はTomas Rokickiで
1987年に最初の\TeX -to-Cシステムを開発しました.このシステムはHoward TrickeyとPavel
CurtisによるUnix系システム下のchangefileをベースにしていました.その後Tim Morganがこの
システムのメンテナとなり,その期間システムはWeb-to-Cと呼ばれていました.1990年に
Karl Berryが多くの協力者の助けを得ながらメンテナンスを引き継ぎました.1997年に
Olaf Weberがメンテナになりましたが,2006年には再びKarl Berryの管理下に戻りました.

\Webc システムはUnix系, 32-bit Windows, macOSなどのOSで動作します.このシステムでは
Knuthによる\TeX のオリジナルソースと,文芸的プログラミングシステム\WEB で書かれた
いくつかの基本的なプログラムを使用し,それらをC言語ソースコードに変換します.このような
方法で管理されている\TeX 関連のプログラムは以下の通りです:
%
\begin{cmddescription}
\item[bibtex] 参考文献の管理
\item[dvicopy] DVIファイルで参照されている仮想フォントの展開
\item[dvitomp] DVIをMPX(\MP 画像)に変換
\item[dvitype] DVIを可読テキストに変換
\item[gftodvi] Generic fonts (GF) の見本 (DVI) 作成
\item[gftopk] GFをpacked fonts (PK) に変換
\item[gftype] GFを可読テキストに変換
\item[mf] フォントファミリの作成
\item[mft] \MF ソースを\TeX ファイルに変換
\item[mpost] 図形描画
\item[patgen] ハイフンパターンを作成
\item[pktogf] PKをGFに変換
\item[pktype] PKを可読テキストに変換
\item[pltotf] プレーンテキストのプロパティリストをTFMに変換
\item[pooltype] \WEB プールファイルを表示
\item[tangle] \WEB をPascalに変換
\item[tex] 組版システム
\item[tftopl] TFMをプレーンテキストのプロパティリストに変換
\item[vftovp] 仮想フォントを仮想プロパティリストに変換
\item[vptovf] 仮想プロパティリストを仮想フォントに変換
\item[weave] \WEB を\TeX ファイルに変換
\end{cmddescription}
%
各プログラムの正確な機能やシンタックスについては,それぞれのマニュアルや\Webc 自体の
ドキュメントに記載されています.しかしながら,すべてのプログラムに共通するいくつかの
基本事項を押さえておくと\Webc をインストールする際に役立ちます.

\Webc に含まれるすべてのプログラムは,以下の標準的なGNUオプションをサポートして
います:
%
\begin{description}
\item[\lopt{help}] 基本的な使用法を表示
\item[\lopt{version}] バージョン情報を表示して終了
\end{description}
%
さらに,ほとんどが以下のオプションもサポートしています:
%
\begin{description}
\item[\lopt{verbose}] より詳細な実行メッセージを表示
\end{description}

\Webc プログラムはファイル探索に\KPS ライブラリ (\url{https://tug.org/kpathsea}) を
使用します.このライブラリは環境変数と設定ファイルの両方を参照して膨大な量の\TeX
関連ファイルの検索を最適化します.\Webc は多くのTEXMFツリーを同時に参照でき,この
ことがTDSを維持したままローカルシステム全体またはユーザごとの拡張を異なるツリーに
分離するのに役立ちます.ファイル検索を高速化するため,各ツリーのルートには配下に
あるすべてのファイルの名前と相対位置を列挙した\file{ls-R}ファイルが置かれています.

\subsection{Kpathseaパス検索}
\label{sec:kpathsea}

まずはじめに,\KPS ライブラリによるパス検索の一般的なメカニズムを紹介します.

\emph{パス要素}(基本的にはディレクトリ名)をコロンまたはセミコロン区切りで並べた
リストを\emph{検索パス}と呼びます.検索パスはさまざまな場所で設定可能です.例えば,
\samp{my-file}を検索パス\samp{.:/dir}から見つける場合,\KPS は各パス要素を順番に
確認します.この場合,まず\file{./my-file}を確認し,次に\file{/dir/my-file}を確認
して最初にみつけたもの(状況によっては,見つけたものすべて)を返します.

あらゆるOSに適切に対応するため,非Unix系システムにおいては\KPS はコロン (\samp{:}) と
スラッシュ (\samp{/}) 以外の記号をファイル名の区切り文字として扱うことができます.

特定のパス要素$p$を確認する際,\KPS はまず利用可能なファイル名データベース(\ref{%
sec:filename-database}節)が$p$について用意されているかを調べます.すなわち,$p$の
プレフィックスにあたるディレクトリにデータベースがあるかを調べ,もし存在していた
場合はその内容に基づいて検索マッチングを行います.

最もシンプルでよくあるパス要素はディレクトリ名ですが,\KPS はそれ以外の機能として
階層的なビルトイン値,環境変数名,設定ファイルの値,ユーザのホームディレクトリ,
そしてサブディレクトリの再帰的な検索などをサポートしています.すなわち,\KPS はパス
要素を種々の指定に従って通常のディレクトリ名に\emph{展開}します.これ以降,この
展開について実際に処理が行われる順番で説明していきます.

ところで,ファイル名が絶対パスもしくは明示的な相対パス(すなわち\samp{/},\samp{%
./},\samp{../}のいずれかから始まるもの)で検索された場合は\KPS は,単純にそのパス
位置にファイルがあるか否かを確認します.

\subsubsection{パスの設定元}
\label{sec:path-sources}

検索パスは設定ファイルや環境変数など,さまざまな場所で設定することができます.ここに
すべての設定元を\KPS が使用する順番に列挙しておきます:
%
\begin{enumerate}
\item ユーザが設定している\code{TEXINPUTS}などの環境変数.なお\samp{\meta{変数名}.%
  \meta{プログラム名}}という形の環境変数は,環境変数\samp{\meta{変数名}}を上書き
  します.例えば\samp{latex}が実行中のプログラム名である場合,\code{TEXINPUTS.latex}%
  は\code{TEXINPUTS}を上書きします.
\item プログラムごとの設定ファイル.例えば\prog{dvips}の設定ファイル\file{config.ps}%
  内にある\samp{S /a:/b}のような記述が反映されます.
\item \KPS の設定ファイル\file{texmf.cnf}.\samp{TEXINPUTS=/c:/d}のような設定が並んで
  います.
\item コンパイル時のデフォルト設定.
\end{enumerate}
%
それぞれの変数の値が何に設定されているかは,デバッグオプションを使用すると確認する
ことができます(p.\,\pageref{sec:debugging}の「デバッグアクション」項を参照).

\subsubsection{設定ファイル}

% Note: この段落最後の1文は訳が怪しい
\KPS は\file{texmf.cnf}という名前の実行時設定ファイルを読み込み,検索パスやその他の
設定を行います.この設定ファイルの検索には検索パス\code{TEXMFCNF}が使用されますが,
この変数の内容を変更したりシステムディレクトリを上書きするように環境変数の値を
設定することは推奨されません.

代わりに,通常のインストールを行うと\file{.../2022/texmf.cnf}が生成されます.
どうしてもデフォルト設定を変更する必要が生じた場合は(通常は必要ありません),この
ファイルに変更を加えてください.メインの設定ファイルは\file{.../2022/texmf-dist/%
web2c/texmf.cnf}です.このファイルを変更してもディストリビューション側でアップデート
があると変更内容が失われてしまうため,ユーザはこのファイルを編集すべきではありません.

余談ですが,もし単に個人用のディレクトリを特定の検索パスに入れたいという場合は環境
変数を設定するのが合理的です:
%
\begin{verbatim}
  TEXINPUTS=.:/my/macro/dir:
\end{verbatim}
%
設定をメンテナンスしやすく,また何年にも亘って使えるようにするためには,すべての
要素を明示的に記入するのではなく,末尾に\samp{:}(Windowsでは\samp{;})を置いて
システムのパスが挿入されるようにしましょう(\ref{sec:default-expansion}節を参照).
また,他にも\code{TEXMFHOME}ツリーを利用する方法もあります(\ref{sec:directories}%
節を参照).

\KPS 検索パスに含まれる\emph{すべて}の\file{texmf.cnf}を読み込み,その内容を反映
します.この際,検索パスのより前方にあるものの設定はより後方にあるものよりも優先
されます.例えば,検索パス\code{.:\$TEXMF}の下で,\file{./texmf.cnf}は\file{$TEXMF/%
texmf.cnf}の内容を上書きします.

\begin{itemize}
\item \code{\%}と\code{\#}はコメント開始文字で,行頭に置くとその行の末尾までコメント
  として扱われます.\code{\%}の前に空白文字があっても同様です.
\item 空行は無視されます.
\item 行末の\code{\bs}は行継続文字としてはたらきます.すなわち,次の行の内容も同じ行
  として扱われます.行頭の連続する空白文字は無視されます.
\item ほかの行は次の形式で記述されます:
%
\begin{alltt}
  \meta{変数名}\optional{.\meta{プログラム名}} \optional{=} \meta{値}
\end{alltt}
%
  なお\samp{=}とその前後の空白は省略可能です(ただし\meta{値}が\samp{.}で始まる場合
  は,ピリオドがプログラム修飾子と解釈されないよう\samp{=}を書いた方が無難です).
\item \meta{変数名}には空白文字,\samp{=},\samp{.}以外の任意の文字を含めることが
  できますが\samp{A-Za-z\var{\_}}の範囲に留めておくのが無難です.
\item もし変数名に\samp{.\meta{プログラム名}}が付いている場合は,その変数定義は\meta{%
  プログラム名}または\code{\meta{プログラム名}.exe}という名前のプログラムの実行中のみで
  適用されます.この機能を用いると,例えば\TeX 処理系の種類ごとに異なる検索パスを適用
  することができます.
\item 文字列とみなされるため,\var{value}にはあらゆる文字を含めることができます.
  しかし,実際には\file{texmf.cnf}に記述されるほとんどの変数はパス展開に関係し,
  そのパス展開においてはさまざまな特殊文字が使用される(\ref{sec:cnf-special-chars}節
  を参照)ため,ディレクトリ名としてはブレースやコンマを使用することはできません.
  
  また変数中の\samp{;}はUnix系の環境においては\samp{:}に読み替えられます.これは単一の
  \file{texmf.cnf}ファイルでUnix系とWindowsの双方をサポートするための措置です.この
  読み替えは検索パスに限らずすべての変数について適用されますが,幸い\samp{;}は検索
  パス以外の変数には必要のない文字です.
  
  なお\code{\$\var{var}.\var{prog}}という表記は右辺ではサポートされません.代替手段
  として,そのようなことをしたい場合には新しい変数を追加してください.
\item すべての定義は展開される前に読み込まれるので,定義前の変数も右辺に含めることが
  可能です.
\end{itemize}
%
上記の仕様のほとんどを活用した設定ファイルの例を示しておきます:
%
\verbatiminput{texlive-common/examples/ex5.tex}

\subsubsection{パス展開}
\label{sec:path-expansion}

\KPS はUnixシェルと同様にいくつかの特殊文字や検索パスの構造を認識します.一般の
例として,パス\dir{~$USER/{foo,bar}//baz}は\var{\$USER}のホームディレクトリ直下の
ディレクトリ\dir{foo}と\dir{bar}以下にある,\file{baz}という名前のファイルまたは
ディレクトリを含むすべてのサブディレクトリに展開されます.これらのパス展開の詳細
については以下のセクションを参照してください.

\subsubsection{デフォルト展開}
\label{sec:default-expansion}

最も優先度の高い検索パス(\ref{sec:path-sources}節を参照)が先頭,末尾または途中
2連続する形で\emph{追加コロン}を含んでいる場合,\KPS はその位置に(もし定義されて
いれば)次に優先度の高いパスを挿入します.もし挿入される次点の検索パスにも追加
コロンが含まれている場合,さらに次に優先度の高いパスが挿入されていきます.例えば
%
\begin{alltt}
> setenv TEXINPUTS /home/karl:
\end{alltt}
%
のように環境変数が設定されていたとして,\file{texmf.cnf}で設定されている\var{%
TEXINPUTS}の値が
%
\begin{alltt}
  .:\$TEXMF//tex
\end{alltt}
%
のとき,最終的に検索されるパスは次のようになります:
%
\begin{alltt}
  /home/karl:.:\$TEXMF//tex
\end{alltt}
デフォルト値を複数箇所に挿入しても意味がないので,\KPS は追加コロンを1つだけ
デフォルト値に置換し,それ以外はそのままにします.まず先頭にコロンがないか
確認され,続いて末尾コロン,2連続のコロンが順にチェックされます.

\subsubsection{ブレース展開}
\label{sec:brace-expansion}

ブレース展開は便利な機能で,例えば\dir{v{a,b}w}は\code{vaw:vbw}に展開されます.
ネストすることも可能です.この機能は\var{\$TEXMF}にブレースリストを与えることに
より複数の\TeX ヒエラルキーを共存させるのにも利用されています.具体的には,
デフォルトの\file{texmf.cnf}では次のような設定が行われています(この例のために
単純化しています):
%
\begin{verbatim}
  TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST}
\end{verbatim}
%
この値は,例えば\TeX の入力パスを定義するのに活用できるでしょう:
%
\begin{verbatim}
  TEXINPUTS = .;$TEXMF/tex//
\end{verbatim}
%
この設定の下では,まずカレントディレクトリがチェックされ,続いて\code{\$TEXMFVAR/%
tex}, \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFDIST/tex}ツリー
が(最後2つについては\file{ls-R}データベースを利用しつつ)検索されることになります.

\subsubsection{サブディレクトリ展開}
\label{sec:subdirectory-expansion}

パス要素内で,2つ以上の連続するスラッシュがディレクトリ名$d$の後ろに置かれている
場合,$d$以下のすべてのサブディレクトリに展開されます.つまり,まず$d$直下のサブ
ディレクトリが並び,続いてさらにそれらのサブディレクトリのサブディレクトリが並び,
以降も再帰的に続きます.各階層でサブディレクトリがどういう順番で検索されるかは
\emph{決まっていません}.

\samp{//}に続いてファイル名の一部を置いた場合,それとマッチするファイルを含む
サブディレクトリのみが展開結果に含められます.例えば\samp{/a//b}は\file{/a/1/b},
\file{/a/2/b}, \file{/a/1/1/b}などに展開されますが,\file{/a/b/c}や\file{/a/1}には
展開されません.

\samp{//}を1つのパスに複数含めることは可能ですが,パスの先頭に置かれた\samp{//}は
無視されます.

\subsubsection{\code{texmf.cnf}で使用できる特殊文字の概要}
\label{sec:cnf-special-chars}

以下のリストに\KPS 設定ファイルで利用できる特殊文字と構造について要約しておきます:
%
\begin{description}
\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}}
\item[\CODE{:}] パスの先頭や末尾に書かれた場合および途中で2つ続けて書かれた場合,
  その部分はデフォルトパスの展開形で置き換えらる
\item[\CODE{;}] 非Unix系システムでの区切り文字(挙動は\code{:}と同様)
\item[\CODE{\$}] 変数展開
\item[\CODE{\string~}] ユーザのホームディレクトリを表す
\item[\CODE{\char`\{...\char`\}}] ブレース展開
\item[\CODE{,}] ブレース内における要素の区切り文字
\item[\CODE{//}] サブディレクトリ展開.先頭を除き,パス中どこでも利用可能
\item[{\makebox[3em][l]{\code{\%}{\normalfont と}\code{\#}}}] コメントの開始
\item[\CODE{\bs}] 行末に置くと,行継続文字としてはたらき複数行入力を可能にする
\item[\CODE{!!}] ファイル名データベースの使用を\emph{強制}
  (ディスク検索を\emph{禁止})
\end{description}

これらの文字が,正確にどのタイミングで特殊なものとして扱われるのか,あるいは
その文字そのものとして扱われるのかは文脈に依存します.設定解釈の各段階の処理
(パース,展開,検索など)と不可分に結びついているため,残念ながら簡潔に説明する
ことはできません.また,汎用のエスケープ手段も存在していません.特に\samp{\bs}は
\file{texmf.cnf}内においては「エスケープ文字」ではないので注意してください.

インストールを行う際にディレクトリ名を選ぶ際には,すべての特殊文字を含めないよう
にするのが無難です.

\subsection{ファイル名データベース}
\label{sec:filename-database}

\KPS は検索のためのディスクアクセスをある程度軽減する仕組みを持っています.
それでも,標準的な\TL やその他十分な大きさの\TeX インストール構成において,
指定されたファイルについて,それが存在する可能性のあるすべてのディレクトリ
を検索するとかなり長い時間がかかってしまいます.そのため\KPS は\file{ls-R}%
という名前のプレインテキスト「データベース」にファイルとディレクトリの情報
を予め書き込んでおき,過剰なディスクアクセスを回避しています.

また\file{aliases}というもう1つのデータベースファイルを利用すると,\file{%
ls-R}に含まれているファイル名に別名(エイリアス)を付けることができます.

\subsubsection{ファイル名データベース}
\label{sec:ls-R}

上で説明したように,メインのファイル名データベースの名前は\file{ls-R}です.
ファイル名データベースは,検索対象としたい各\TeX ヒエラルキーの最上位階層に
配置することができます(デフォルトでは\code{\$TEXMF}).\KPS は\code{TEXMF%
DBS}パスに含まれている\file{ls-R}を読み込みます.

\file{ls-R}の生成・更新には,ディストリビューションに含まれる\cmd{mktexlsr}%
コマンドの利用をおすすめします.このコマンドは種々の\cmd{mktex}\dots
スクリプトから呼び出されます.本質的には,このスクリプトは単に
%
\begin{alltt}
cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R
\end{alltt}
%
を実行するだけです.なお,このスクリプトはシステムの\cmd{ls}コマンドが正しい
形式で出力を行うことを前提にしています(GNU \cmd{ls}なら問題ありません).
データベースが常に最新の状態であることを保証するには,\cmd{cron}を利用して
定期的にデータベースを更新するのが簡単でしょう.そうすることによって,例えば
\LaTeX パッケージをインストールしたりアップデートしたりして,新しいファイルが
配置されたとしても自動的にデータベースが更新されることになります.

データベースにファイルが見つからない場合,デフォルトでは\KPS は処理を続行して
ディスク検索を行います.ただし\samp{!!}から開始するパス要素については,データ
ベース\emph{のみ}が検索され,ディスクが検索されることはありません.

\subsubsection{\cmd{kpsewhich}: パス検索用コマンドラインツール}
\label{sec:invoking-kpsewhich}

\cmd{kpsewhich}コマンドはパス検索を行うための独立したツールです.このコマンド
は\cmd{find}コマンドのように利用して\TeX ヒエラルキーの中にあるファイルを探索
するのに便利です(このプログラムはディストリビューションに含まれる\cmd{mktex}%
\dots スクリプトでも多用されています).
%
\begin{alltt}
> kpsewhich \meta{オプション}\dots{} \meta{ファイル名}\dots{}
\end{alltt}

上記の\meta{オプション}は\samp{\sopt{}}または\samp{\lopt{}}で開始して,曖昧で
ない限りどのような省略の仕方をしても指定可能です.

\KPS はオプションでないすべての引数をファイル名として受け取って,それぞれに
ついて見つかった最初のファイルを返します.特定の名前のファイルをすべて列挙する
オプションはありません(そのような場合はUnixの\cmd{find}コマンドを使用して
ください).

よく使われるオプションを一覧にしておきます:
%
\begin{description}
\item[\code{\lopt{dpi}=\meta{数値}}]
解像度を\meta{数値}に設定します.このオプションはgeneric fonts (GF) とpacked
fonts (PK) を検索するときにのみ効果を発揮します.\cmd{dvips}に合わせて\sopt{D}%
という省略形も使用できます.デフォルト値は600です.

\item[\code{\lopt{format}=\meta{フォーマット名}}]
検索対象のフォーマットを指定します.デフォルトではフォーマットはファイル名から
推測されます.\MP のサポートファイルや\cmd{dvips}の設定ファイルなど,対応する
(曖昧でない)拡張子がないフォーマットについては,このオプションを用いて明示的
に指定する必要があります.その際\meta{フォーマット名}には\code{tex}や\code{enc
files}などを指定します.具体的なフォーマット名のリストについては\code{kpsewhich
\lopt{help-formats}}を参照してください.

\item[\code{\lopt{mode}=\meta{モード名}}]
モード名を設定します.このオプションもGFおよびPKの検索用です.デフォルト値は
なく,指定しない限りすべてのモードが検索対象になります.

\item[\code{\lopt{must-exist}}]
ディスク検索を含むあらゆる手段を使用して,可能な限りファイル検索を行います.
デフォルトでは,効率重視のため\file{ls-R}データベースのみが検索されます.

\item[\code{\lopt{path}=\meta{パス}}]
ファイル名からパスを推測する代わりに,指定された\meta{パス}(通常通りコロン
区切り)を利用して検索を行います.\samp{//}を含むすべての特殊文字とその展開が
サポートされています.\lopt{path}と\lopt{format}は相容れません.

\item[\code{\lopt{progname}=\meta{プログラム名}}]
プログラム名を設定します.これは\var{.\meta{プログラム名}}接尾辞付きの変数を
介して検索パスに影響を与えます.デフォルトでは\cmd{kpsewhich}です.

\item[\code{\lopt{show-path}=\meta{名前}}]
指定した\meta{名前}と紐づくファイルタイプの検索に用いられるパスを表示します.
\meta{名前}には拡張子 (\file{.pk}, \file{.vf}, etc.) またはファイル名を指定する
ことができ,\lopt{format}オプションも併用できます.

\item[\code{\lopt{debug}=\meta{数値}}]
デバッグレベルを\meta{数値}に設定します.
\end{description}

\subsubsection{使用例}
\label{sec:examples-of-use}

このセクションでは\KPS の実行例をいくつか紹介していきます.まずは単純な検索です:
%
\begin{alltt}
> kpsewhich article.cls
   /usr/local/texmf-dist/tex/latex/base/article.cls
\end{alltt}
%
この例では\file{article.cls}を検索しています.拡張子\samp{.cls}には曖昧性がない
ので,わざわざファイルタイプ\code{tex}(\TeX のソースファイル)を指定する必要は
ありません.上の例では,目的のファイルは\dir{texmf-dist} \TL ディレクトリ内の
\dir{tex/latex/base}サブディレクトリの中に見つかりました.同様にして,以下に列挙
する例はいずれも曖昧性のない拡張子のおかげで特に問題なくファイルを見つけることが
できます:
%
\begin{alltt}
> kpsewhich array.sty
   /usr/local/texmf-dist/tex/latex/tools/array.sty
> kpsewhich latin1.def
   /usr/local/texmf-dist/tex/latex/base/latin1.def
> kpsewhich size10.clo
   /usr/local/texmf-dist/tex/latex/base/size10.clo
> kpsewhich small2e.tex
   /usr/local/texmf-dist/tex/latex/base/small2e.tex
> kpsewhich tugboat.bib
   /usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib
\end{alltt}
%
ところで,最後の例として挙がっているのは\textsl{TUGboat}の記事用の\BibTeX 文献
データベースです.

\begin{alltt}
> kpsewhich cmr10.pk
\end{alltt}
%
拡張子\samp{.pk}をもつ,フォントのビットマップグリフファイルは\prog{dvips}や
\prog{xdvi}などのディスプレイプログラムによって使用されます.Computer Modernの
\samp{.pk}ファイルは通常\TL に含まれていないので(デフォルトではType~1変種が
使用されるため),上の例では何も出力されません.

\begin{alltt}
> kpsewhich wsuipa10.pk
   /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
\end{alltt}
%
これらのフォント(ワシントン大学で開発された音声記号)については,まず\samp{%
.pk}ファイルを生成する必要があり,\TL における\MF モードはデフォルトでは解像度
600{\dpi} (dots per inch) 設定の\code{ljfour}なので,上のような結果になります.
%
\begin{alltt}
> kpsewhich -dpi=300 wsuipa10.pk
\end{alltt}
%
続いてのケースでは解像度300\dpi を指定 (\code{\sopt{-dpi}=300}) していますが,
そのようなフォントファイルは存在しないという結果が得られました.\cmd{dvips}や
\cmd{xdvi}などのプログラムは実行を中断し,\cmd{mktexpk}スクリプトを用いて必要な
\samp{.pk}ファイルを生成することになるでしょう.

次に\cmd{dvips}のヘッダおよび設定ファイルについて考えましょう.2004年以来,汎用
の設定ファイル\file{config.ps}と\PS フォントのマップファイル\file{psfonts.map}%
は独自の検索パスと\dir{texmf}ツリー内での配置場所を持っているので,それらを取り
扱う前に\TeX サポートのための汎用プロローグ\file{tex.pro}の例を示しました.
拡張子\samp{.ps}には曖昧性があるので,\file{config.ps}については該当するファイル
タイプ (\code{dvips config}) を明示的に指定する必要があります.
%
\begin{alltt}
> kpsewhich tex.pro
   /usr/local/texmf/dvips/base/tex.pro
> kpsewhich --format="dvips config" config.ps
   /usr/local/texmf/dvips/config/config.ps
> kpsewhich psfonts.map
   /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map
\end{alltt}

今度はURW Timesの\PS サポートファイルについて考えます.標準的なフォント命名規則
に基づけば,これらのプレフィックスは\samp{utm}です.最初に検索するのはマップ
ファイルの名前を格納している設定ファイルです:
%
\begin{alltt}
> kpsewhich --format="dvips config" config.utm
   /usr/local/texmf-dist/dvips/psnfss/config.utm
\end{alltt}
%
このファイルには
%
\begin{alltt}
  p +utm.map
\end{alltt}
%
という記述があり,\file{utm.map}を参照しているので,続いてこのファイルの位置を
確認してみましょう:
%
\begin{alltt}
> kpsewhich utm.map
   /usr/local/texmf-dist/fonts/map/dvips/times/utm.map
\end{alltt}
%
このマップファイルはURWコレクションに含まれるType~1 \PS フォントのファイル名を
定義しています.ファイルには下記のような記述が並んでいます(以下は抜粋です):
%
\begin{alltt}
utmb8r  NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
utmr8r  NimbusRomNo9L-Regu    ... <utmr8a.pfb
utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
utmbo8r NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmro8r NimbusRomNo9L-Regu    ... <utmr8a.pfb
\end{alltt}
%
例えば,Times Romanを例にとって,\file{texmf}ディレクトリ内における\file{%
utmr8a.pfb}ファイルの位置を検索してみます:
%
\begin{alltt}
> kpsewhich utmr8a.pfb
   /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb
\end{alltt}

ここまでの例が,いかに簡単に指定したファイルを見つけることができるかを示して
いるはずです.ここで示したテクニックは,何らかの理由で間違ったバージョンの
ファイルが使用されてしまっていると疑われるときに特に役立ちます.\cmd{kpsewhich}%
コマンドを用いれば,どのファイルが一番最初に見つかっているのかを確認することが
できます.

\subsubsection{デバッグアクション}
\label{sec:debugging}

ときとして,あるプログラムがファイル参照をどのように解決しているかについて調査
する必要が生じる場合があります.そのような場合のために,\KPS はさまざまなレベル
のデバッグオプションを提供しています:
%
\begin{description}
\makeatletter
\setbox\z@=\hbox{\code{00}}
\newcommand{\dbgitem}[1]{\item[\code{\hbox to\wd\z@{\hfill #1}}]}
\makeatother

\dbgitem{1}
\code{stat}コマンドによるディスク検索の状況.きちんと更新された\file{ls-R}データ
ベースを使用して検索が行われている場合,このデバッグオプションはほとんど何も出力
しないはずです.

\dbgitem{2}
ハッシュテーブルの参照(\file{ls-R},マップファイル,設定ファイルなど).

\dbgitem{4}
ファイルI/O操作.

\dbgitem{8}
各ファイルタイプに適用されるパスの情報.これは特定のファイルに対する検索パスが
どこで定義されているのかを調べるのに役立ちます.

\dbgitem{16}
各パス要素に属するディレクトリの一覧(ディスク検索にのみ関係).

\dbgitem{32}
ファイル検索.

\dbgitem{64}
変数の値.
\end{description}
%
デバッグレベルを\code{-1}に設定すると上のすべてが有効になります.多くの場合,
実用上はこれが一番便利でしょう.

同様に\cmd{dvips}プログラムでも,デバッグオプションをいくつか組み合わせることで
どこのファイルが読み込まれているか詳細を確認することができます.またファイルが
見つからない場合に,デバッグ出力はプログラムがどこに対してファイル検索を行った
かを示してくれるので,どこに問題があるのかを把握することができます.

一般的に言って,\KPS ライブラリは多くのプログラムから内部的に呼び出されるもの
なので,デバッグオプションは環境変数\var{KPATHSEA\_DEBUG}を上記リストの値
(もしくはそれらの組み合わせ)に設定することによって指定するのがよいでしょう.
\footnote{Windowsユーザ向けの情報:Windowsではすべてのデバッグメッセージを1つの
ファイルにリダイレクトするのは困難です.デバッグの際は,一時的に\code{SET
\var{KPATHSEA\_DEBUG\_OUTPUT}=err.log}などと設定するのがよいでしょう.}

例として,以下のような内容の小さな\LaTeX ソースファイル\file{hello-world.tex}を
考えてみます.
%
\begin{verbatim}
  \documentclass{article}
  \begin{document}
  Hello World!
  \end{document}
\end{verbatim}
%
この小さなファイルは\file{cmr10}フォントのみを使用するのですが,\cmd{dvips}が
どのように\PS ファイルを用意するのか確認してみましょう(ここではComputer Modern%
のType~1バージョンを使用したいので\sopt{Pcms}を指定します).
%
\begin{alltt}
> dvips -d4100 hello-world -Pcms -o
\end{alltt}
%
上記の例では\cmd{dvips}のデバッグクラス4(フォントパス)と\KPS のパス要素展開を
組み合わせました(\cmd{dvips}のリファレンスマニュアルを参照).この出力(かなり
いじっていますが)を図\ref{fig:dvipsdbga}に示します.
%
\begin{figure*}[tp]
\centering
\input{texlive-common/examples/ex6a.tex}
\caption{設定ファイルを見つける}
\label{fig:dvipsdbga}
\end{figure*}
%
\cmd{dvips}は起動後,まず作業ファイルを探します.はじめに他のファイルの検索に
用いられる検索パスを定義する\file{texmf.cnf}が見つかり,続いてファイル検索を
最適化するファイル名データベース\file{ls-R}とエイリアスを定義している\file{%
aliases}が見つかります.\cmd{dvips}はさらに汎用の設定ファイル\file{config.ps}%
やカスタマイズ設定を記述する\file{.dvipsrc}を探し出します(上の例では,後者は
``not found''という結果になっています).最後に\cmd{dvips}はComputer Modernの
\PS フォント用の設定ファイル\file{config.cms}を探します(これは\sopt{Pcms}の
効果です).このファイルには\TeX 間の関係を定義するマップファイルのリストが
記述されています.
%
\begin{alltt}
> more /usr/local/texmf/dvips/cms/config.cms
   p +ams.map
   p +cms.map
   p +cmbkm.map
   p +amsbkm.map
\end{alltt}
%
\cmd{dvips}はこのようにしてすべてのファイルを見つけ,さらに常に使用されること
になっている汎用マップファイル\file{psfonts.map}も読み込みます(このファイル
ではすべての\PS フォントに共通する定義が行われています.\PS マップファイルの
取り扱いの詳細については\ref{sec:examples-of-use}節の最後の部分を参照して
ください).

ここにきて,\cmd{dvips}はやっとプログラム自身の情報をユーザに提示します:
%
\begin{alltt}
This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com)
\end{alltt}
%
その後プロローグファイルが検索されます:
%
\begin{alltt}\small
kdebug:start search(file=texc.pro, must_exist=0, find_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro
\end{alltt}

以上で必要なファイルが揃ったので,\cmd{dvips}は日付と時刻を出力し,そして
\file{hello-world.ps}というファイルが生成されることを予告します.併せて,
そのファイル生成の際にはフォントファイル\file{cmr10}が必要であることと,その
フォントが``resident''(ビットマップ不要)として扱われる旨が表示されます.
%
\begin{alltt}\small
TeX output 1998.02.26:1204' -> hello-world.ps
Defining font () cmr10 at 10.0pt
Font cmr10 <CMR10> is resident.
\end{alltt}

これでやっと\file{cmr10.tfm}の検索が行われ,それが見つかれば,もういくつかの
プロローグファイルが参照され(出力には出ていません),最終的にType~1のフォント
実体\file{cmr10.pfb}が出力ファイルに含まれることになります(最終行).
%
\begin{alltt}\small
kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0,
  path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
       /var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0,
   ...
<texps.pro>
kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
<cmr10.pfb>[1]
\end{alltt}

\subsection{ランタイムオプション}

その他の\Webc の便利な機能として,数々のメモリパラメータ(例えば配列サイズ)
を\KPS が読み込む設定ファイル\file{texmf.cnf}でコントロールできることが挙げられ
ます.メモリ設定は\TL ディストリビューションに含まれる\file{texmf.cnf}のPart 3%
に記述されています.より重要なことは:
%
\begin{description}
\item[\var{main\_memory}]
\TeX, \MF, \MP に使用を許可する合計のメモリ量(ワード数).これらの設定を反映する
には,値を適用した上でそれぞれのフォーマットを生成する必要があります.例えば,
もし「巨大な」バージョンの\TeX を生成したとして,それを利用するにはフォーマット
ファイル\file{hugetex.fmt}を呼び出す必要があります.
%\KPS が使用するプログラム名を指定する通常の方法を利用して,\var{main\_memory}の
%値は\file{texmf.cnf}から読み出されます.[意味不明.要検証]

\item[\var{extra\_mem\_bot}]
「大きな」\TeX のデータ構造(ボックス,グルー,ブレイクポイントなど)を配置する
ための追加領域.特に\PiCTeX を使用する際に便利です.

\item[\var{font\_mem\_size}]
フォント情報を格納するために使用するメモリ量(ワード数).これは読み込まれるTFM%
ファイルの合計サイズと概ね一致します.

\item[\var{hash\_extra}]
制御綴を格納するハッシュテーブルのための追加領域.デフォルト値は\code{600000}です.
\end{description}
%
こうしたパラメタの存在は動的な配列・メモリ確保の完全な代替となるものではありません.
しかし,そうした変更を現在の\TeX ソースに対して適用するのは容易でないので,これらの
実行時パラメタの存在はある程度の柔軟性をもたせる実用上の妥協策です.

\subsection{\code{\$TEXMFDOTDIR}}
\label{sec:texmfdotdir}

ここまでさまざまな箇所で,(カレントディレクトリを最初に検索するようにするため)
ドット\samp{.}から始まる検索パスを紹介してきました:
%
\begin{alltt}\small
TEXINPUTS=.;$TEXMF/tex//
\end{alltt}
%
実は,これは単純化した表記です.\TL が提供している実際の\file{texmf.cnf}では
単に\samp{.}と書く代わりに\code{\$TEXMFDOTDIR}を使用しています:
%
\begin{alltt}\small
TEXINPUTS=$TEXMFDOTDIR;$TEXMF/tex//
\end{alltt}
%
(実際のファイルでは,2つ目のパス要素も\code{\$TEXMF/tex//}よりは少し複雑
です.とはいえ,それは些末なことなので,ここでは\code{\$TEXMFDOTDIR}の話に
注目してください.)

パス定義において,単に\samp{.}と書く代わりに\code{\$TEXMFDOTDIR}を使用する
理由は,単純にその値を上書きできるメリットがあるからです.例えば,複雑な
ドキュメントは数多くのソースファイルが,多くのサブディレクトリにまたがって
配置されている場合があります.そのような場合,\var{TEXMFDOTDIR}の値を
\code{.//}に(例えば,そのドキュメントをビルドする環境で)設定するだけで,
サブディレクトリのすべてが検索されるようになります.(警告:\code{.//}を
デフォルトの設定にはしないでください.そうした設定は極めて好ましくなく,
任意のドキュメントについてすべてのサブディレクトリを検索するようにする
ことには潜在的なセキュリティ上の問題があります.)

また別のケースでは,カレントディレクトリを一切検索したくないという場合も
考えられます.それは例えば,すべてのファイルを明示的なパスで記述している
ような状況で起こり得ます.そのような場合,\var{TEXMFDOTDIR}の値は\code{%
/nonesuch}や任意の存在しないディレクトリに設定しておくとよいでしょう.

\code{\$TEXMFDOTDIR}のデフォルト値は,\TL の\file{texmf.cnf}に定義されて
いるように単に\samp{.}です.

\section{謝辞}

\TL は事実上すべての\TeX ユーザ会の貢献に支えられています.現在の\TL 監修者はKarl
Berryです.過去から現在に至るまでの,その他の主要な貢献者は以下の通りです
(敬称略):
%
\begin{itemize}
\item 英語圏,ドイツ,オランダ,ポーランドの\TeX ユーザ会(それぞれTUG, DANTE e.V.,
  NTG, GUST).技術的・経営的なインフラの提供してくれました.ぜひお近くの\TeX ユーザ
  会に加入してください!(\url{https://tug.org/usergroups.html}を参照)
\item CTANチーム (\url{https://ctan.org}).\TL イメージを配布し,\TL が依存する各種の
  パッケージアップデートを行うための共通基盤の提供をしてくれています.
\item Nelson Beebe.\TL 開発陣に数々のプラットフォームを提供し,彼自身も多くの包括的
  なテストを行ってくれました.また彼の比類なき書誌学的な貢献にも敬意を表します.
\item John Bowman.彼の高度なグラフィックツールAsymptoteを\TL に対応させるため数多く
  の変更を加えてくれました.
\item Peter Breitenlohnerと\eTeX チーム.将来の\TeX のために安定した基盤を構築して
  くれました.特にPeter氏は,長年に渡ってGNU autotools関連のヘルパーとして活躍し,
  ソースコードを最新の状態に保ってくれました.Peter.2015年10月に亡くなりましたが,
  私たちは彼のことを忘れません.
\item Jin-Hwan ChoとすべてのDVIPDFM$x$チームメンバー.素晴らしいドライバを開発し,
  設定周りの諸問題に対する責任ある対応をしてくれました.
\item Thomas Esser.彼の素晴らしい\teTeX パッケージなしには\TL は存在し得ません
  でした.
\item Michel Goossens.この文書のオリジナル版の共著者です.
\item Eitan Gurari.彼の\TeX4htは\TL 公式ドキュメントのHTML版生成に利用されています.
  彼は急な依頼をしても,毎年快く\TeX4htの改善に取り組んでくれました.Eitanは2009年
  6月に若くして亡くなりましたが,私たちは彼のことを忘れません.
\item Hans Hagen.多くのテストを引き受け,彼の\ConTeXt パッケージ (\url{http://%
  pragma-ade.com}) を\TL フレームワークに対応させるとともに,継続的に\TeX 開発に
  協力してくれました.
\item \Thanh, Martin Schr\"oderと\pdfTeX チーム (\url{https://tug.org/applications/%
  pdftex/}).彼らは\TeX を継続的に拡張してくれています.
\item Hartmut Henkel.\pdfTeX, \LuaTeX をはじめ多くのプロジェクトに顕著な貢献を
  してくれました.
\item 平田俊作.DVIPDFM$x$について多くの新規および継続的な貢献をしてくれました.
\item Taco Hoekwater.\MP と {(Lua)\TeX} (\url{https://luatex.org}) 自体に対して大きな
  変更を施したほか,\ConTeXt の\TL 対応や\KPS のマルチスレッド機能,その他数々の貢献
  をしてくれました.
\item Khaled Hosny.\XeTeX, DVIPDFM$x$に加え,アラビア語用のものを含め多くのフォント
  に対して多くの貢献をしてくれました.
\item Pawe{\l} Jackowski.Windows用インストーラ\cmd{tlpm},Tomasz {\L}uczak氏は\cmd
  {tlpmgui}を開発してくれました.これらのプログラムは過去の\TL で使用されていました.
\item 角藤亮.日本語\TeX 用のW32\TeX, W64\TeX ディストリビューション (\url{%
  http://w32tex.org}) のためにWindowsバイナリを提供し,さらに開発に関わる数々の貢献を
  してくれました.
\item Jonathan Kew.優れた\TeX エンジンである\XeTeX を開発し,時間と労力を割いてその
  処理系を\TL に導入してくれました.彼はさらに初期バージョンの\MacTeX を開発し,我々の
  おすすめするフロントエンドである\TeX worksも開発しました.
\item 北川弘典.($\varepsilon$-)\pTeX のメンテナンスと関連する多くのサポートを担って
  くれました.
\item Dick Koch.\TL チームと友好的かつ緊密に連携しながらMac{\TeX} (\url{https://tug.%
  org/mactex}) のメンテナンスを行ってくれています.
\item Reinhard Kotucha.{\TL} 2008のインフラとインストーラに対する主要な貢献者で,
  さらにWindows研究や\cmd{getnonfreefonts}スクリプトの開発などに多大な努力をして
  くれています.
\item Siep Kroonenberg.彼も{\TL} 2008のインフラとインストーラの(特にWindowsについて)
  主要貢献者で,その新機能について解説するためマニュアルを大幅に改定してくれました.
\item Clerk Ma.エンジンのバグ修正と拡張を行ってくれました.
\item Mojca Miklavec.\ConTeXt 開発の重要な協力者で,多くのバイナリビルドを行い,
  その他にも多くの仕事を行ってくれています.
\item Heiko Oberdiek.\pkg{epstopdf}をはじめ数々のパッケージを開発し,巨大だった
  \pkg{pst-geo}データファイルを圧縮して\TL に含められるようにしてくれました.そして
  何より,彼の\pkg{hyperref}パッケージについての偉業に敬意を表します.
\item Phelype Oleinik.2020年にグループ区切りでの\cs{input}対応を多くのエンジンに
  適用したほか,多くの貢献をしてくれました.
\item Petr Ol\v{s}ak.チェコ・スロバキア関連のプロダクトを統括し,注意深くチェック
  してくれました.
\item 大島利雄.Windows向けDVIビューア\cmd{dviout}を開発してくれました.
\item Manuel P\'egouri\'e-Gonnard.パッケージアップデートとドキュメントの改善に協力
  してくれたほか,\cmd{texdoc}コマンドを開発しました.
\item Fabrice Popineau.はじめて\TL のWindowsサポートを行い,またフランス語
  ドキュメントに貢献してくれました.
\item Norbert Preining.現在の\TL インフラとインストーラの主要開発者で,Frank
  K\"usterと共に\TL のDebianパッケージを用意してくれています.彼は現在も広範に\TL
  に関わるさまざまな仕事を引き受けてくれています.
\item Sebastian Rahtz.\TL の創始者で,長年そのメンテナンスを行っていました.
  彼は2016年3月に亡くなりましたが,私たちは彼のことを忘れません.
\item Luigi Scarso.\MP, \LuaTeX その他のプログラムを継続的に開発してくれています.
\item Andreas Scherer.\TL で用いているCWEB実装である\code{cwebbin}の開発および
  オリジナルCWEBの継続的なメンテナンスを行ってくれました.
\item 田中琢爾.($\varepsilon$-)(u)\pTeX のメンテナンスと関連する多くのサポートを
  担ってくれました.
\item Tomasz Trzeciak.Windowsについて広範な協力をしてくれました.
\item Vladimir Volovich.さまざまなプログラムの\TL への組み込みとメンテナンスの
  ために多くの手伝いをしてくれました.特に\cmd{xindy}の組み込みが実現したのは彼の
  おかげです.
\item Staszek Wawrykiewicz.\TL 全体についての主要なテスターで,ポーランド語に
  関わる多くの貢献(フォントやWindowsインストールなど)をしてくれました.Staszek氏
  は2018年2月に亡くなりましたが,私たちは彼のことを忘れません.
\item Olaf Weber.過去何年にも渡って辛抱強く\Webc のメンテナンスを行ってくれました.
\item Gerben Wierda.初期のmacOSサポートの開発とメンテナンスを行ってくれました.
\item Graham Williams.\TeX カタログの創始者です.
\item Joseph Wright.各種エンジンで同じプリミティブを使用できるようにするため多くの
  貢献をしてくれました.
\item 山下弘展.\pTeX と関連する多くのサポートを担ってくれました.
\end{itemize}

バイナリのビルド担当者:
%
Marc Baudoin (\pkg{amd64-netbsd}, \pkg{i386-netbsd}),
Ken Brown (\pkg{i386-cygwin}, \pkg{x86\_64-cygwin}),
Simon Dales (\pkg{armhf-linux}),
Johannes Hielscher (\pkg{aarch64-linux}),
角藤亮 (\pkg{win32}),
Dick Koch (\pkg{universal-darwin}),
Mojca Miklavec (\pkg{amd64-freebsd},
                \pkg{i386-freebsd}
                \pkg{i386-linux},
                \pkg{x86\_64-darwinlegacy},
                \pkg{i386-solaris}, \pkg{x86\_64-solaris},
                \pkg{sparc-solaris}),
Norbert Preining (\pkg{i386-linux},
                  \pkg{x86\_64-linux},
                  \pkg{x86\_64-linuxmusl}).
%
\TL のビルドプロセスについては\url{https://tug.org/texlive/build.html}を参照して
ください.

このマニュアルの翻訳者:
%
朝倉卓人(日本語),
Denis Bitouz\'e,Patrick Bideault(フランス語),
Carlos Enriquez Figueras(スペイン語),
Jjgod Jiang,Jinsong Zhao,Yue Wang,Helin Gai(中国語),
Nikola Le\v{c}i\'c(セルビア語),
Marco Pallante,Carla Maggi(イタリア語),
Petr Sojka,Jan Busa(チェコ・スロバキア語),
Boris Veytsman(ロシア語),
Zofia Walczak(ポーランド語),
Uwe Ziegenhagen(ドイツ語).
%
\TL のドキュメントウェブページは\url{https://tug.org/texlive/doc.html}です.

もちろん,最も重要な謝辞はDonald Knuthに対して贈られるべきです.まず\TeX を発明
してくれたこと,そしてそれを世界に広めてくれたことについて,深く感謝します.

\section{更新履歴}
\label{sec:history}

\subsection{過去}

最初に議論が始まったのはオランダ\TeX ユーザ会が4All{\TeX} CDをMS-DOSユーザの
ために用意し始めたときのことでした.そのときは,すべてのシステムに向けて1つの
合理的なCDを作成することが望ましいとされました.これは,当時あまりに漠然とした
目標でしたが,結果的には4All{\TeX} CDを完成させたのみならず\TeX ディレクトリ
構造 (TDS, \url{https://tug.org/tds}) についての作業チームをTUGに発足させる
ことにつながりました.作業チームはどのようにすれば一貫性があり,管理の容易な
\TeX サポートファイルのコレクションを作成できるか議論を重ねました.TDSについて
の完全な原稿は1995年12月発行の\textsl{TUGboat}に掲載されましたが,かなり早い
段階から望ましい成果物はCD上のモデル構造であることは明らかでした.いま皆さんに
とってお馴染みのディストリビューションは,この作業チームの議論のかなり直接的な
成果と言えます.また4All{\TeX} CDの成功から,同様の簡単なシステムを作れば
Unix系システムのユーザも恩恵に与ることができることも明らかで,この事実も\TL
にもう1つの大きな流れを作りました.

私たちは,1995年の秋にまずUnix系のTDS CDの開発に取り掛かり,すぐに
Thomas Esserの\teTeX が理想的なディストリビューションであることがわかりました.
\teTeX はすでに複数のプラットフォームをサポートしており,さまざまなファイル
システムに対応するように設計されていました.Thomas氏の協力を得て活動は1996年の
はじめに本格化し,最初のバージョンが1996年の5月にリリースされました.1997年の
頭にKarl Berryが大規模な修正を加えた新しいバージョンの\Webc をリリースし,
Thomas氏が\teTeX に加えていたほとんどすべての機能が利用可能になりました.この
\Webc に\teTeX の\cmd{texconfig}スクリプトを加えたものはバージョン2のベースに
採用されることが決まりました.バージョン3はOlaf Weberによってさらに大きく修正
された{\Webc} 7.2をベースにしました.同時に,新しいバージョンの\teTeX も開発
され,\TL もすぐにそのほとんどの新機能を取り込みました.バージョン4も同じ
パターンでのリリースとなり,新しい\teTeX と新しい{\Webc} 7.3 を利用して作成
されました.Fabrice Popineauの貢献もあり,この時点までに\TL は完全なWindows%
サポートを完成させていました.

バージョン5(2000年3月)では多くの部分が改修・チェックされ,何百ものパッケージ
がアップデートされました.パッケージの詳細はXMLファイルに保存されるようになり
ました.一方で{\TL} 5における大きな変更として,すべての有償ソフトウェアは取り
除かれました.このときから\TL に含まれるすべてのものはDebianフリーソフトウェア
ガイドライン (\url{https://www.debian.org/intro/free}) 互換であることが求め
られるようになりました.私たちはすべてのパッケージのライセンスを確認するよう
最善を尽くしましたが,もし何か間違いがあればご連絡ください.

バージョン6(2001年7月)にはさらに多くのパッケージアップデートが取り込まれ
ました.このバージョンで最大の更新点はインストールについての新しい選択肢です.
ユーザはより詳細に必要とするコレクションを選択できるようになりました.特定の
言語と関連するコレクションが大きく見直され,そうしたコレクションを選択すれば
対応するマクロやフォントがインストールされるだけでなく,適切な\file{language.%
dat}も用意されるようになりました.

2002年のバージョン7での大きな変更としてはMac OS Xサポートの追加と,例年通り
無数のパッケージやプログラムのアップデートが挙げられます.このときの大きな
目標はソースコードを\teTeX のそれと統合し,バージョン5, 6間の不整合を修正する
ことでした.

\subsubsection{2003}

2003年も例年通り数多くのアップデートと追加パッケージがあり\TL は巨大化して
もはや1枚のCDに収まらないことがわかりました.そのため,私たちはこれを3つの
異なるディストリビューションに分離しました(\ref{sec:tl-coll-dists}節 (\p.%
\pageref{sec:tl-coll-dists}) を参照).その他の変更点:
%
\begin{itemize}
\item \LaTeX チームからのリクエストを受けて,標準設定における\cmd{latex},
  \cmd{pdflatex}コマンドが\eTeX エンジンを使用するように変更
  (\p.\pageref{text:etex}参照)
\item 新しいLatin Modernフォントを追加(そして推奨)
\item Alpha OSFのサポートを終了(HPUXのサポートは既に終了していました).
  これは新しいバイナリをコンパイルするためのハードウェアを誰も所有して
  いなかった(そして新しい有志も現れなかった)ためです.
\item Windowsサポートの大きな変更.XEmacsベースの統合環境が始めて導入され
  ました.
\item Windows向けの重要な追加プログラム (Perl, Ghost\-script, Image\-Magic,
  Ispell) が\TL のディレクトリにインストールされるようになりました.
\item \cmd{dvips}, \cmd{dvipdfm}, \cmd{pdftex}などによって使用されるフォント
  マップファイルが新しい\cmd{updmap}によって生成され,\dir{texmf/fonts/map}%
  に配置されるようになりました.
\item \TeX, \MF, \MP がデフォルトでほとんどの入力文字(文字コード32以上)
  をそのままファイル(例えば\cs{write}の出力先),ログファイル,ターミナルに
  出力するようになりました.すなわち\code{\symbol{`\^}\symbol{`\^}}表現への
  変換が\emph{行われないように}なりました.\TL~7では,この変換はシステムの
  ロケール設定に依存していました.今後はロケール設定は\TeX のコアプログラム
  の挙動に影響を与えなくなります.もし何らかの理由により\code{\symbol{`\^}%
  \symbol{`\^}}表現による出力が必要な場合は\file{texmf/web2c/cp8bit.tcx}の
  ファイル名を変更してください.
  (将来的にはもう少し簡単な方法を用意する予定です.)
\item このドキュメントを全面的に改訂しました.
\item 最後に,バージョン番号が大きくなってきたので,今後は単にリリース年で
  表すことにしました.すなわち今回のバージョンは{\TL} 2003となります.
\end{itemize}

\subsubsection{2004}

2004年には数多くの更新がありました:
%
\begin{itemize}
\item ローカルにインストールしたフォントで,独自の\file{.map}や(あまりない
と思いますが)\file{.enc}を利用するものがある場合,それらのサポートファイル
を移動する必要があります.

\file{.map}ファイルについては\var{TEXFONTMAPS}パスに含まれる(各TEXMFツリー
の)\dir{fonts/map}以下のサブディレクトリのみが検索されるようになりました.
同様に\file{.enc}ファイルについても\var{ENCFONTS}パスに含まれる\dir{fonts/%
enc}以下のサブディレクトリのみが検索対象になりました.しばらくの間は\cmd{%
updmap}コマンドが将来的に問題となり得るファイルについて警告を出します.

より詳細な対策その他の情報については\url{https://tug.org/texlive/mapenc.html}%
を参照してください.

\item \TeX コレクションに\MIKTEX ベースのインストールCDが追加されました.
\MIKTEX 実装の\Webc がお好みの場合はそちらをお使いください.詳細は\ref{sec:%
overview-tl}節 (\p.\pageref{sec:overview-tl}) を参照.

\item 従前のリリースにおいて,\TL における唯一の巨大なTEXMFツリーであった\dir
{texmf}を\dir{texmf}, \dir{texmf-dist}, \dir{texmf-doc}の3つに分割しました.
詳細は\ref{sec:tld}節 (\p.\pageref{sec:tld}) と各ツリーの\file{README}を参照
してください.

\item すべての\TeX 関連の入力ファイルを各\dir{texmf*}ツリーの\dir{tex}サブ
ディレクトリに集約しました(これまでは\dir{tex}, \dir{etex}, \dir{pdftex},
\dir{pdfetex}等々に分けられていました).詳細は\file{texmf-dist/doc/generic/%
tds/tds.html#Extensions}を参照してください.

\item (ユーザによって直接実行するためのものではない)補助スクリプトを各\dir
{texmf*}ツリーの\dir{scripts}サブディレクトリに移動し,\code{kpsewhich\space
\lopt{format=texmfscripts}}で探せるようにしました.こうした補助スクリプトを
呼び出すプログラムについては改修の必要があります.詳細は\file{texmf-dist/doc/%
generic/tds/tds.html#Scripts}を参照してください.

\item \file{cp227.tcx}の設定により,ほとんどすべてのフォーマットで大半の文字を
\code{\symbol{`\^}\symbol{`\^}}表現へ変換することなくそのまま出力するように
なりました.特に文字コード32--256の文字とタブ,垂直タブ,改ページは印字可能文字
として扱い変換されません.例外はplain \TeX (32--126のみ印字可能),\ConTeXt
(0--256を印字可能)と\OMEGA 関連フォーマットです.デフォルトの挙動は{\TL}
2003とほとんど変わりませんが,実装が整理されカスタマイズも容易になりました.
詳細は\file{texmf-dist/doc/web2c/web2c.html#TCX-files}を確認してください.
(ところでUnicode入力については\TeX はエラーを表示して部分的な文字シークエンス
を出力する可能性があります.これは\TeX がバイト指向であるためです.)

\item \prog{pdfetex}が (plain) \prog{tex} を除くすべてのフォーマットのデフォルト
エンジンになりました(もちろん,\prog{latex}等で実行された場合はDVIを出力します
).つまり,\eTeX 拡張 (\dir{texmf-dist/doc/etex/base/}) に加えて\pdfTeX  の
microtypography機能も\LaTeX や\ConTeXt で利用可能になります.

\item この変更は\pkg{ifpdf}(plain \TeX でも\LaTeX でも使用可)または同等のコード
の利用が\emph{これまで以上に重要となった}ということを意味します.なぜなら単純に
\cs{pdfoutput}(または他のプリミティブ)が定義されているかどうかを調べるだけでは
PDF出力が行われているかどうかを判定できなくなったからです.この後方互換性について
今年のリリースでは可能な限り対処しましたが,来年以降はDVI出力を行っているときで
あっても\cs{pdfoutput}が定義されている可能性があります.

\item {\pdfTeX} (\url{https://tug.org/applications/pdftex/}) には多くの新機能が
追加されました:
\begin{itemize}
\item \cs{pdfmapfile}と\cs{pdfmapline}がドキュメント内からのフォントマップ
アクセスをサポートします.
\item Microtypographicフォント展開がより簡単に利用できるようになりました.\\
\url{https://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}
\item 従来は専用の設定ファイル\file{pdftex.cfg}で設定していたパラメータは,今後
プリミティブを用いて設定されなければなりません.具体的には\file{pdftexconfig.%
tex}で設定されています.\file{pdftex.cfg}はもはやサポートされません.\file{%
pdftexconfig.tex}が変更された場合,すべての\file{.fmt}ファイルを再生成する必要
があります.
\item その他の更新点については\pdfTeX のマニュアルを参照してください:
\file{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}
\end{itemize}

\item \prog{tex}(および\prog{mf}と\prog{mpost})の\cs{input}プリミティブが
ダブルクオートで囲うことによって空白やその他の特殊文字を含む入力を受け付ける
ようになりました.典型的な使用例:
%
\begin{verbatim}
\input "filename with spaces"   % plain
\input{"filename with spaces"}  % latex
\end{verbatim}
%
詳細については\Webc のマニュアルを参照してください\dir{texmf-dist/doc/web2c}.

\item \Webc にenc\TeX サポートが追加され,この機能は結果的にすべての\TeX
プログラムで\sopt{enc}オプションを通して利用可能になりました(\emph{ただし
フォーマットが生成されている場合に限る}).enc\TeX は入出力の再エンコーディング
について汎用的なサポートを提供するもので,Unicode(UTF-8形式による)のフル
サポートを可能としています.詳細については\dir{texmf-dist/doc/generic/enctex/}%
と\url{http://olsak.net/enctex.html}を参照してください.

\item \eTeX と\OMEGA を組み合わせた新エンジン\ALEPH が利用可能になりました.
\dir{texmf-dist/doc/aleph/base}と\url{https://texfaq.org/FAQ-enginedev}に
いくらかの情報があります.\ALEPH における\LaTeX ベースのフォーマットは
\prog{lamed}といいます.

\item 最新の\LaTeX は新しいバージョンのLPPLの下でインストールされました.これで
公式にDebian公認のライセンスになりました.他のアップデートについての情報と合わせて
\dir{texmf-dist/doc/latex/base}の\file{ltnews}ファイルに詳細が記載されています.

\item DVIをPNG画像ファイルに変換する新しいプログラム\prog{dvipng}が追加され
ました.\url{https://ctan.org/pkg/dvipng}を参照.

\item mediumサイズのフォント向けに\pkg{cbgreek}パッケージを導入しました.これは
フォント作者 (Claudio Beccari) の同意と助言に基づくものです.除外されているフォント
は不可視・アウトライン・透過文字です.これらは比較的使用頻度の低いもので,私たち
は容量を気にする必要がありました.フルセットのフォントはもちろんCTANから入手
できます (\url{http://mirror.ctan.org/tex-archive/fonts/greek/cbfonts}).

\item \prog{oxdvi}は廃止されました.\prog{xdvi}を使用してください.

\item \cmd{initex}など\cmd{tex}, \cmd{mf}, \cmd{mpost}の\cmd{ini}, \cmd{vir}版
コマンド(リンク)は作成されなくなりました.\cmd{ini}の機能は何年も前からコマンド
ラインオプション\sopt{ini}を通して利用可能です.

\item \pkg{i386-openbsd}プラットフォームのサポートは廃止されました.BSDポート
システム向けの\pkg{tetex}パッケージとGNU/LinuxおよびFreeBSDバイナリが利用可能
なので,ビルド担当のボランティアは他のことに時間と労力を割いた方が良いようです.

\item (少なくとも)\pkg{sparc-solaris}においては\prog{t1utils}を実行する際には
環境変数\var{LD\_LIBRARY\_PATH}を設定する必要があります.なぜなら,このプログラム
はC++によってコンパイルされていますが,それらについて実行時ライブラリの標準的な
配置位置が存在しないためです(これは今に始まったことではありませんが,これまで
ドキュメント化されていませんでした).同様に\pkg{mips-irix}においても,MIPSpro~%
7.4ランタイムが必要です.
\end{itemize}

\subsubsection{2005}

2005年も例年通り膨大なパッケージとプログラムのアップデートがありました.前年と
比べるとインフラは安定していますが,必然的にいくつかの変更はありました:
%
\begin{itemize}
\item システムツリーの設定を変更する新しいスクリプト\cmd{texconfig-sys}, \cmd{%
updmap-sys}, \cmd{fmtutil-sys}が導入されました.\cmd{texconfig}, \cmd{updmap},
\cmd{fmtutil}スクリプトは\dir{$HOME/.texlive2005}以下のユーザ設定を変更するよう
になりました.

\item 上の変更に対応して,設定ファイルを探すべきTEXMFツリーを指定する新しい環境
変数\var{TEXMFCONFIG}と\var{TEXMFSYSCONFIG}(それぞれユーザ用とシステム用)が
追加されました.したがって個人用の\file{fmtutil.cnf}や\file{updmap.cfg}がある
場合は,これらのパス内に移動する必要があります.もしくは\file{texmf.cnf}を用いて
\var{TEXMFCONFIG}, \var{TEXMFSYSCONFIG}の値を再定義する手もあります.いずれに
しても,実際の設定ファイル位置と\var{TEXMFCONFIG}, \var{TEXMFSYSCONFIG}の指す
位置は必ず一致していなければなりません.詳細は\ref{sec:texmftrees}節 (\p.%
\pageref{sec:texmftrees}) を参照してください.

\item 昨年は\pdfTeX が使用されていたとしても,DVI出力を行う場合には\cs{%
pdfoutput}等のプリミティブが未定義になるよう後方互換性を維持していました.
今年は,予告していたとおり,この後方互換性に対するケアは終了します.そのため
もし\code{\cs{ifx}\cs{pdfoutput}\cs{undefined}}のようなコードを利用してPDF出力
か否かを判定している場合,修正が必要になります.この場合\pkg{ifpdf}パッケージ
(plain \TeX でも\LaTeX でも使用可能です)を使用するか,そのしくみを真似する
のがいいでしょう.

\item 昨年,ほとんどのフォーマットで出力文字 (8-bit) がそのまま維持されるよう
になりました(前のセクションを参照してください).新しいTCXファイル\file{%
empty.tcx}を用いてより簡単に\code{\symbol{`\^}\symbol{`\^}}表現を利用する
かつての挙動に戻せるようになりました:
%
\begin{verbatim}
latex --translate-file=empty.tcx yourfile.tex
\end{verbatim}

\item DVIをPDFに変換するため,新しく\prog{dvipdfmx}プログラムが追加され
ました.これは活発にメンテナンスされている\prog{dvipdfm}の後継です
(\prog{dvipdfm}は今でも利用可能ですが,推奨はされません).

\item Adobe Acrobat Readerを再起動することなくPDFのリロードを可能にする
\prog{pdfopen}と\prog{pdfclose}が追加されました(\prog{xpdf}, \prog{gv},
\prog{gsview}などAcrobat以外のPDFリーダにはそもそもこのような問題はあり
ませんでした).

\item 一貫性のため\var{HOMETEXMF}と\var{VARTEXMF}はそれぞれ\var{TEXMFHOME}%
と\var{TEXMFSYSVAR}に変更されました.ユーザごとのツリーを示す\var{TEXMFVAR}%
もデフォルトで存在していることに注意してください.このリストの最初の項目も
再度確認してください.
\end{itemize}

\subsubsection{2006--2007}

2006--2007年における\TL への大きな出来事は\XeTeX の追加でした.このプログラム
は\cmd{xetex}と\cmd{xelatex}として利用可能です(\url{https://scripts.sil.org/%
xetex}参照).

{\pdfTeX} (\url{https://tug.org/applications/pdftex}) と同様に,\MP にも将来的
な拡張の計画も含めて特筆すべきアップデートがありました \url{https://tug.org/%
metapost/articles}.

\TeX の\file{.fmt}(高速フォーマット)と\MP, \MF 用の同等ファイルは\dir{%
texmf/web2c}直下から同サブディレクトリに移されました(一方で\dir{texmf/web2c}%
直下も既存の\file{.fmt}ファイルのために検索対象に残っています).それらのサブ
ディレクトリにはそれぞれのエンジン名(\dir{tex}, \dir{pdftex}, \dir{xetex}等)
が付けられています.通常の使い方をしている限り,この変更による影響はないはず
です.

(plain) \cmd{tex}コマンドは先頭行の\code{\%\&}(使用フォーマットの指定に使用
する)を解釈しなくなりました.\cmd{tex}コマンドは純粋なKnuthian \TeX です.
(\LaTeX など他のコマンドは今後も\code{\%\&}を解釈します.)

当然のことながら,この期間にも(いつも通り)上記以外に何百ものパッケージや
プログラムのアップデートがありました.平常通り,それらについてはCTAN (\url{%
https://ctan.org}) を確認してください.

内部的には,ソースツリーをSubversionで管理するようになり,その標準Webインター
フェースでソースツリーを閲覧できるようになりました(\TL のウェブサイトから
リンクされています).この変更は最終的な配布版には関係ありませんが,この変更
によって今後の開発基盤が安定すると期待しています.

最後に,2006年5月にThomas Esserが\teTeX の更新を終了することを発表しました
(\url{https://tug.org/tetex}).結果として,特にGNU/Linuxのディストリビュータ
から,にわかに\TL が注目されることになりました.\TL には新しく\pkg{tetex}%
スキームが追加され,これを用いると旧来の\teTeX と概ね同等のものをインストール
することができます.私たちは,早晩この変化が全世界の人々の\TeX 環境の改善に
つながることを願っています.

\subsubsection{2008}

今年は\TL のインフラが全面的に再設計・再実装されました.インストールについて
の完全な情報は\file{tlpkg/texlive.tlpdb}というテキストファイルに保存される
ようになりました.インフラ刷新による変化は色々ありますが,これによって一度
インストールした\TL をインターネットを利用してアップグレードできるようになり
ました.この機能は\MIKTEX には何年も前からあったものです.今後はCTANで新しい
パッケージがリリースされる度にアップデートを行うことができるはずです.

大きな出来事として,新しいエンジン{\LuaTeX} (\url{https://luatex.org}) が追加
されました.このエンジンは組版にさらなる柔軟性を与えるだけでなく,\TeX 文書の
内外で利用できる素晴らしいスクリプト言語の処理系を提供してくれます.

WindowsとUnix系プラットフォームのサポートがより統一的になりました.具体的
には,\TL に同梱されるようになった処理系によってWindowsでもPerlスクリプトと
Luaスクリプトが利用可能になりました.

新しい\prog{tlmgr}スクリプトは(\ref{sec:tlmgr}節)は\TL の初期インストール
後の管理を行う汎用インターフェースです.このコマンドはパッケージアップデート
と継続的なフォーマット・マップファイル・言語ファイル等の再生成を行います
(オプションで,ローカルに追加されたものについても行います).\prog{tlmgr}が
開発されたので,これまでフォーマットやハイフネーション設定ファイルを管理して
いた\prog{texconfig}は廃止されました.

また新しい索引作成支援プログラム\prog{xindy} (\url{http://xindy.sourceforge.%
net/}) がほとんどのプラットフォーム向けに提供されるようになりました.

\cmd{kpsewhich}コマンドは与えられたファイルについて,すべてのマッチを返す
ことができるようになりました(オプション\lopt{all}).特定のサブディレクトリ
内のマッチだけを返すことも可能です(オプション\lopt{subdir}).

\cmd{extractbb}コマンドという形で,\prog{dvipdfmx}プログラムにバウンディング
ボックス情報を抽出する機能が追加されました.これにより\prog{dvipdfm}が持って
いたほとんどの機能が\prog{dvipdfmx}にも実装されたことになります.

\file{Times-Roman}や\file{Helvetica}のようなフォントエイリアスは削除されま
した.パッケージごとにそうしたエイリアスに求める挙動が異なり(例えば,期待
されるエンコーディングが異なるなど),またそれに対する良い解決策も存在しない
ためです.

ポーランド語向けの\pkg{platex}フォーマットは,まったく別の日本語用プログラム
\prog{platex}と名前が衝突しているため削除されました.代わりに,今後は\pkg{%
polski}パッケージが主としてポーランド語サポートを提供します.

内部的には,アップデートの簡便性のため,\WEB の文字列プールファイルをバイナリ
にコンパイルするようになりました.

最後に,`\TeX\ tuneup of 2008'に述べられているDonald Knuthによる変更が今回の
リリースに反映されました.詳細は\url{https://tug.org/TUGboat/Articles/tb29-2/%
tb92knut.pdf}を参照してください.

\subsubsection{2009}

2009年,\LuaTeX のOpenTypeサポート等を活用するためLua\LaTeXTeX のデフォルト
の出力フォーマットがPDFに変更されました.新しいコマンド名\cmd{dviluatex}と
\cmd{dvilualatex}を使用するとDVI出力の\LuaTeX を実行できます.\LuaTeX の
ウェブサイトは\url{https://luatex.org}です.

{\OMEGA} (Omega) 開発者らとの協議の後,オリジナルの\OMEGA エンジンと{\LAMBDA}
(Lambda) フォーマットは削除されることになりました.後継である{\ALEPH} (Aleph)
と{\LAMED} (Lamed) は\OMEGA の機能を担うため今後も\TL に残ります.

Computer Modernを含め,新しいバージョンのAMS Type~1 フォントが追加されました.
何年も前にKnuthが\MF のソース修正を行って変更されたいくつかのシェイプがついに
反映され,またヒンティングも更新されました.EulerフォントもHermann Zapfによって
大幅に再デザインされました(\url{https://tug.org/TUGboat/Articles/tb29-2/tb92%
hagen-euler.pdf}参照).いずれについてもメトリクスは変更されていません.AMS%
フォントのウェブサイトは\url{https://ams.org/tex/amsfonts.html}です.

新しいGUIフロントエンド{\TeX}worksがWindowsと\MacTeX 向けに追加されました.
他のプラットフォーム向けのものや詳細情報については{\TeX}worksのウェブサイト
(\url{https://tug.org/texworks}) を参照してください.{\TeX}worksはmacOS向けの
統合開発環境{\TeX}Shopにインスパイアされたクロスプラットフォームなフロント
エンドで,使い勝手の良さに重きを置いています.

製図用ツールAsymptoteが多くのプラットフォーム向けに追加されました.これは
テキストベースのグラフィクス記述言語で,大雑把には\MP と似たものですが,
高度な3Dサポートその他の機能が利用可能です.ウェブサイトは\url{http://%
asymptote.sourceforge.io}です.

独立した\cmd{dvipdfm}コマンドは\prog{dvipdfmx}に置き換えられました(ただし
特別な互換モードで実行されます).\cmd{dvipdfmx}はCJKサポートと,\cmd{%
dvipdfm}の最後のリリースから何年にも渡って蓄積された数多くの修正が含まれて
います.

新しいプラットフォーム (\pkg{cygwin}, \pkg{i386-netbsd}) 向けのバイナリが
追加されました.ただしOpenBSDユーザは標準的なパッケージシステムを用いて\TeX
をインストールすることが推奨されます.複数のバージョンのOpenBSDで動作する
バイナリを作成するのは困難でした.

その他の雑多な変更:
%
\begin{itemize}[nosep]
\item \pkg{lzma}の安定した代替として\pkg{xz}圧縮 (\url{https://tukaani.org/%
  xz/})を採用しました.
\item 後続の文字列が定義済みの変数と一致しない限り\samp{\$}をファイル名に使用
  できるようになりました.
\item \KPS ライブラリがマルチスレッド化されました(\MP で使用されています).
\item \TL 全体のビルドがAutomakeベースになりました.
\end{itemize}

最後に過去のバージョンに関することについて告知します.\TL のすべてのリリース
は\url{ftp://tug.org/historic/systems/texlive}から入手できます(CDラベル等
のおまけもあります).

\subsubsection{2010}
\label{sec:2010news} % keep with 2010

2010年,出力PDFのデフォルトバージョンが1.5になり,これまで以上の圧縮が可能に
なりました.この変更はPDFを出力するすべての\TeX エンジンと\cmd{dvipdfmx}に
ついて適用されました.\LaTeX パッケージ\pkg{pdf14}を使用するか\code{\cs{%
pdfminorversion}=4}を設定するとPDF~1.4出力に戻すことができます.

pdf\LaTeXTeX は\LaTeX の\file{graphics.cfg}が読み込まれていて,PDF出力を
行っている場合,\pkg{epstopdf}を用いて\emph{自動的に}インクルードされた
Encapsulated {\PS} (EPS) ファイルをPDFに変換するようになりました.デフォルト
のオプションは既存のPDFファイルが上書きによって失われてしまうことのないよう
に設定されていますが,\cs{documentclass}よりも前に
\verb|\newcommand{\DoNotLoadEpstopdf}{}|(\cs{def}を用いてもよい)を記述して
読み込み済みのように見せかけることで\pkg{epstopdf}使用を回避できます.また
\pkg{pst-pdf}パッケージを使用した場合も読み込みは行われません.詳細については
\pkg{epstopdf}パッケージのドキュメントを参照してください (\url{https://ctan.%
org/pkg/epstopdf-pkg}).

関連する変更として,今年からいくつかの定められた外部コマンドが\TeX から(\cs{%
write18}機能を介して)デフォルトで実行できるようになりました.デフォルトで実行
が許可されているコマンドは\cmd{repstopdf}, \cmd{makeindex}, \cmd{kpsewhich},
\cmd{bibtex}, \cmd{bibtex8}です.このリストは\file{texmf.cnf}に定義されています.
こうした外部コマンドをすべて禁止する必要のある環境では,インストーラにオプション
を指定するか(\ref{sec:options}節を参照),\code{tlmgr conf texmf \var{shell\_%
escape} 0}を実行して設定を上書きしてください.

上とは別の関連する変更は\BibTeX とMakeindexが任意ディレクトリのファイル出力を
(\TeX 本体と同様)デフォルトでは行わなくなったことです.これは,これらのプロ
グラムを制限付き\cs{write18}で実行できるようにするための措置です.この挙動を
変更するためには環境変数\var{TEXMFOUTPUT}を設定するか\var{openout\_any}設定を
変更してください.

\XeTeX が\pdfTeX と同様に同じ行内でのマージンカーニングをサポートするように
なりました(フォント展開は今のところサポートされていません).

\prog{tlmgr}がデフォルトで各パッケージのバックアップを取るようになったので
(\code{tlmgr option autobackup 1}),パッケージアップデート時に不具合が発生
しても\code{tlmgr restore}により簡単に復元できるようになりました.もし
インストール後のアップデートを行いたいもののバックアップ用のディスク容量が
ないという場合は\code{tlmgr option autobackup 0}を実行してください.

新規に追加されたプログラム:
%
\begin{itemize}[nosep]
\item \pTeX エンジンと関連する日本語組版のためのユーティリティ
\item {\BibTeX}U: Unicodeサポートが有効な\BibTeX
\item \prog{chktex}: \LaTeXTeX 文書をチェックするツール
  (元々\url{http://baruch.ev-en.org/proj/chktex}から提供されていたもの)
\item \prog{dvisvgm}: DVIをSVGに変換するツール
  (\url{https://dvisvgm.de})
\end{itemize}

新しいプラットフォーム向けの実行バイナリも追加されました:
\pkg{amd64-freebsd}, \pkg{amd64-kfreebsd}, \pkg{i386-freebsd},
\pkg{i386-kfreebsd}, \pkg{x86\_64-darwin}, \pkg{x86\_64-solaris}.

{\TL} 2009の変更ですが,昨年リリースノートに書き忘れたものがありました.
\TeX4ht関連の多くの実行バイナリ (\url{https://tug.org/tex4ht}) がバイナリ用
ディレクトリから削除されました.汎用の\cmd{mk4ht}コマンドを用いてすべての
\prog{tex4ht}コンビネーションを実行することができます.

最後に,\TeX コレクションDVD上の\TL はライブ実行できなくなりました.
1枚のDVDだけではもはや十分なスペースが確保できないためです.有用な副作用
として,物理DVDからのインストールがこれまでよりかなり高速になりました.

\subsubsection{2011}

macOSバイナリ (\pkg{universal-darwin}, \pkg{x86\_64-darwin}) の動作要件が
Leopard以降になりました.今後PantherとTigerはサポート対象外となります.

一般的なプラットフォーム向けに文献処理ツール\prog{biber}が追加されました.
このプログラムの開発は\LaTeX の参考文献関連機能の完全な再実装である\pkg{%
biblatex}パッケージの開発と緊密に連携しています.


{\MP} (\cmd{mpost}) は\file{.mem}ファイルを作成したり利用したりしなくなり
ました.\file{plain.mp}のような必要ファイルは実行の度に読み込まれなければ
なりません.これは\MP をライブラリとして利用できるようにしたことに関連する
変更です(ライブラリ利用可能になったこともまた顕著な変更ですが,一般の
ユーザにはあまり関係がありません).

\cmd{updmap}のPerl実装はこれまでWindows専用でしたが,刷新されてすべての
プラットフォームで利用されるようになりました.これもユーザに影響のある
ような変更ではないはずですが,実行速度はかなり向上しました.

\cmd{initex}, \cmd{inimf}コマンドが復活しました(ただし,その他の\cmd{%
ini*}コマンドは復活していません).

\subsubsection{2012}

\cmd{tlmgr}が複数のネットワークレポジトリからのアップデートをサポートする
ようになりました.\code{tlmgr help}の出力の``multiple repositories''に
関するセクションにはさらなる詳細が記述されています.

\cmd{xetex}, \cmd{xelatex}の双方について\cs{XeTeXdashbreakstate}の
デフォルト値が\code{1}になりました.これによりem-ダッシュとen-ダッシュの
直後の改行が許容されます(これはplain \TeX, \LaTeX, \LuaTeX 等の挙動と
同じです).既存の\XeTeX 文書で,これまでの行分割とまったく同じ挙動を必要
とする場合は明示的に\cs{XeTeXdashbreakstate}を\code{0}に設定してください.

\cmd{pdftex}と\cmd{dvips}を含むいくつかのプログラムが生成するファイルが
2\,GBを超えられるようになりました.

あまりにも多くのバリエーションが存在するため,35の\PS 標準フォントが\cmd{%
dvips}の出力にデフォルトで埋め込まれるようになりました.

制限付き\cs{write18}実行モードにおいて,\cmd{mpost}がデフォルトで許可される
ようになりました.

\file{texmf.cnf}が\file{../texmf-local}の位置(例えば\file{/usr/local/%
texlive/texmf-local/web2c/texmf.cnf})でも(存在すれば)みつけられるように
なりました.

\cmd{updmap}スクリプトがグローバルな設定ではなくツリー毎に\file{updmap.cfg}%
を読み込むようになりました.この変更は,\file{updmap.cfg}を直接変更して
いない限りユーザへの影響はないはずです.詳細は\code{updmap \lopt{help}}の
出力を参照してください.

プラットフォーム:\pkg{armel-linux}と\pkg{mipsel-linux}が追加され,\pkg{%
sparc-linux}と\pkg{i386-netbsd}はもはやメインディストリビューションには
含まないことになりました.

\subsubsection{2013}

ディストリビューション構造:トップレベルの\dir{texmf}ディレクトリは,簡潔の
ため\dir{texmf-dist}と統合されました.\KPS 変数\var{TEXMFMAIN}と\var{TEXMF%
DIST}は今後ともに\dir{texmf-dist}を参照することになります.

多くの小さな言語サポートコレクションは,インストールをシンプルにするため,
統合されました.

\MP: PNG出力のネイティブサポートと浮動小数点数 (IEEE double) が追加されました.

\LuaTeX: 内蔵Lua処理系のバージョンが5.2に上がりました.また,外部PDFのページ
コンテンツを処理など多くの機能をもつ\pkg{pdfscanner}ライブラリが新たに追加
されました(詳細は\pkg{pdfscanner}のウェブサイトを参照してください).

\XeTeX (ウェブサイトにさらに多くの情報があります):
%
\begin{itemize}[nosep]
\item フォントレイアウトにICUに代わってHarfBuzzライブラリを使用するようになり
  ました(ICUも入力エンコーディング,双方向組版,オプショナルなUnicode改行を
  サポートするために依然として利用されてはいます).
\item グラファイトレイアウトにはSilGraphiteに代わってGraphite2とHarfBuzzが
  利用されるようになりました.
\item MacではATSUI(廃止予定)に代わってCore Textを使用するようになりました.
\item 同名のものがある場合,Type1フォントよりTrueType/OpenTypeフォントが優先
  されるようになりました.
\item 稀に\XeTeX と\prog{xdvipdfmx}でフォント検索の挙動に違いが生じる問題を
  修正しました.
\item OpenTypeのmath cut-insをサポートしました.
\end{itemize}

\prog{xdvi}: レンダリングに\prog{t1lib}に代わってFreeTypeを使用するように
なりました.

\pkg{microtype}: \XeTeX のprotrusion機能と\LuaTeX のprotrusion,フォント
展開,トラッキング機能をサポートしたほか,数々の拡張が行われました.

\prog{tlmgr}: 新しく\code{pinning}アクションが追加され,複数のレポジトリの
管理が簡単になりました.\code{tlmgr \lopt{help}}出力の該当セクションまたは
オンライン\url{https://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}%
に詳細が記述されています.

プラットフォーム:\pkg{armhf-linux}, \pkg{mips-irix}, \pkg{i386-netbsd},
\pkg{amd64-netbsd}が追加(または復活)されました.一方\pkg{powerpc-aix}は
廃止されました.

\subsubsection{2014}

% Note: 第2文の訳が正しいか自信なし
2014年もKnuthによる\TeX のアップデートがありました.この変更はすべての
エンジンに影響しますが,ユーザから見える変化は起動時バナーの\code{preloaded
format}の文字列ぐらいでしょう.Knuthによれば,今回の変更により起動時バナーは
バイナリに実際にアンダンプされて読み込まれたフォーマットよりも,読み込まれて
いることが\emph{期待される}フォーマットを反映するようになりました.バナーの
内容はさまざまな方法で上書きされ得ます.

\pdfTeX: 警告を抑制する新しいパラメタ\cs{pdfsuppresswarningpagegroup}と,PDF%
テキストリフローを補助するために単語内スペースを制御する新しいプリミティブ
\cs{pdfinterwordspaceon}, \cs{pdfinterwordspaceoff}, \cs{pdffakespace}が追加
されました.

\LuaTeX: フォント読み込みとハイフネーションについて,大きな変更と修正が
ありました.最大の新要素は新しい\TeX エンジンで,\cmd{luajittex}とその仲間
である\cmd{texluajit}, \cmd{texluajitc}が追加されました.これらはLuaの
JITコンパイラを利用しています(詳細は\textsl{TUGboat}の記事\url{https:%
//tug.org/TUGboat/tb34-1/tb106scarso.pdf}にあります).\cmd{luajittex}は現在
開発途上にあり,すべてのプラットフォームで利用可能なわけではなく,また\cmd{%
luatex}ほど安定していない可能性があります.\TL チームも\cmd{luajittex}開発陣
も,このエンジンはLuaコードのJITコンパイルについて実験を行う場合を除いては,
使用を推奨していません.

\XeTeX: Macを含むすべてのプラットフォームで同じ画像フォーマットをサポートする
ようになりました.Unicodeの互換性分解フォールバックは回避されるようになりました
(ただしそれ以外については未対応).\XeTeX の以前のバージョンとの互換性のため,
グラファイトフォントについてはOpenTypeを優先します.

\MP: \code{numberprecision}に加えて,新しい数値体系\code{decimal}のサポート
されるようになりました.Knuthにより\file{plain.mp}の\code{drawdot}の定義が更新
されました.SVGおよびPNG出力についてのバグが修正されました.

{\TL} 2014リリース後どこかのタイミングで\ConTeXt のユーティリティ\cmd{pstopdf}%
は独立のコマンドとしては廃止される予定です.これは同名のOSユーティリティとの
衝突があるためです.同ユーティリティは\code{mtxrun \lopt{script} pstopdf}に
よりこれからも呼び出すことができます.

\cmd{psutils}は新しいメンテナにより大きく修正されました.結果として,いくつかの
あまり使われていないユーティリティ (\cmd{fix*}, \cmd{getafm}, \cmd{psmerge},
\cmd{showchar}) はユーザレベルバイナリとして提供するのではなく\dir{scripts}%
ディレクトリ以下に移動されることになりました(もしこの変更で問題が発生した場合
は戻されるかもしれません).一方で新しいスクリプト\cmd{psjoin}が追加されました.

\TL ベースのディストリビューション{\MacTeX}(\ref{sec:macos}節)は,今後Latin
Modernと{\TeX} GyreフォントについてのMac専用パッケージを同梱しないことになり
ました.これはユーザが各自でそれらのフォントをシステムで利用できるように設定
するのはそれほど難しくないためです.また\TeX4ht(とりわけ\file{tex4ht.env})
がGhostscriptを直接利用するようになったのでImageMagickの\cmd{convert}コマンド
も削除されました.

中国語,日本語,韓国語をサポートする\pkg{langcjk}コレクションは大きすぎたので
言語ごとに独立のパッケージに分割されました.

プラットフォーム:\pkg{x86\_64-cygwin}が追加された一方,\pkg{mips-irix}は削除
されました.MicrosoftがWindows XPのサポートを終了したので,\TL もXPではそのうち
動作しなくなるでしょう.

\subsubsection{2015}

\LaTeXe に元々は\pkg{fixltx2e}パッケージを読み込まない限りは適用されなかった
変更がデフォルトで組み込まれるようになりました(逆に,今後は\pkg{fixltx2e}を
読み込んでも何も起こりません).新たに追加された\pkg{latexrelease}パッケージ
その他の新機構を用いて「どこまでの変更を反映するか」をコントロールすることが
できます.詳細は付属ドキュメントの``{\LaTeX} News \#22''や``{\LaTeX} changes''
に綴られています.ちなみに\pkg{babel}と\pkg{psnfss}は\LaTeX の中核を成す
パッケージながら開発・保守は独立に行われており,今回の変更とは関係がありません
(これまで通り動作するはずです).

内部的には\LaTeXe 自身がUnicode関連のエンジン設定(カテゴリーコードの初期値
など)を同梱するようになりました.こうした設定は以前は\TL が提供していました.
この変更はユーザには無関係のはずです.低レベルの内部コントロールシークエンス
はリネームされたり削除されたりしていますが,全体としての挙動はこれまでと完全に
一致しているはずです.

\pdfTeX: JFIFと同様JPEGのExif情報もサポートするようになりました.\cs{%
pdfinclusionerrorlevel}の値が負のときは警告を一切発しません.また\prog{xpdf}~%
3.04に対応しました.

\LuaTeX: トークン読み取りのための\pkg{newtokenlib}ライブラリが追加されました.
\code{normal}な乱数生成やその他の部分に関わるバグ修正も含まれています.

\XeTeX: 画像の取り扱いに関する修正がありました.\prog{xdvipdfmx}バイナリは
最初に\prog{xetex}の仲間を検索するようになりました.\code{XDV}の内部オペコード
が変更されました.

\MP: 新しい数値体系\code{binary}が追加されました.\prog{up*tex}に対応する
日本語用の\prog{upmpost}, \prog{updvitomp}プログラムが追加されました.

\MacTeX: CJKサポートGhostscriptパッケージの更新が反映されました.システム環境
設定の``{\TeX} Distribution''ペインがOS X 10.10 Yosemiteでも利用可能になり
ました.リソースフォークフォント(通常拡張子なし)はもはや\XeTeX ではサポート
されなくなりました.一方データフォークフォント (\file{.dfont}) は今後も
サポートされます.

インフラ:\cmd{fmtutil}スクリプトが\cmd{updmap}と同様,ツリー毎に\file{%
fmtutil.cnf}を読み込むように再実装されました.\Webc の\cmd{mktex*}スクリプト
(\prog{mktexlsr}, \prog{mktextfm}, \prog{mktexpk}など)は毎回\code{PATH}%
にあるプログラムよりも,それぞれと同じディレクトリにあるプログラムを優先する
ようになりました.

プラットフォーム:\pkg{kfreebsd}系のプラットフォームサポートは終了しました.
これらのプラットフォームでは,それぞれシステムネイティブな機能を利用して簡単に
\TL を導入できるようになったためです.いくつかの追加プラットフォームがカスタム
バイナリの形でサポートされるようになりました (\url{https://tug.org/texlive/%
custom-bin.html}).加えていくつかのプラットフォームサポートがDVDでは省略
されるようになりましたが(単純に容量不足のためです),インターネット経由でこれ
まで通りインストールすることができます.

\subsubsection{2016}

\LuaTeX: プリミティブについての大きな変更(リネームと削除)とノード構造の
部分的な再設計がありました.この変更はHans Hagen氏による記事``{\LuaTeX} 0.90
backend changes for PDF and more'' (\url{https://tug.org/TUGboat/tb37-1/%
tb115hagen-pdf.pdf}) に要約されています.すべての詳細については\LuaTeX の
マニュアル\file{texmf-dist/doc/luatex/base/luatex.pdf}を参照してください.

\MF: \MF にLua処理系を組み込んだ実験的なプログラムMFluaとMFluajitが追加され
ました.現状これらは試用と実験のためのものです.

\MP: バグ修正と{\MP} 2.0に向けた内部的準備が行われました.

\LuaTeX とオリジナルの\TeX を除くすべての処理系が\var{SOURCE\_DATE\_EPOCH}に
対応しました(\LuaTeX も次のリリース時に対応する予定です).環境変数\var{%
SOURCE\_DATE\_EPOCH}が設定されている場合,その値がPDF出力のタイムスタンプと
して利用されます.\var{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES}も設定されている
場合,\var{SOURCE\_DATE\_EPOCH}の値が\TeX のプリミティブ\cs{year}, \cs{month},
\cs{day}, \cs{time}の初期化にも利用されます.\pdfTeX のマニュアルに詳細と
使用例が記載されています.

\pdfTeX: 通常実行の毎に異なる値の出力をコントロールするためのプリミティブ\cs{%
pdfinfoomitdate}, \cs{pdftrailerid}, \cs{pdfsuppressptexinfo}が追加されました.
これらの機能はPDF出力のためのもので,DVIのものではありません.

\XeTeX: プリミティブ\cs{XeTeXhyphenatablelength}, \cs{XeTeXgenerateactualtext},
\cs{XeTeXinterword\-spaceshaping}, \cs{mdfivesum}が追加されました.文字クラスの
上限が4096に制限されました.DVIのidバイトが更新されました.

その他のユーティリティ:
%
\begin{itemize}[nosep]
\item \cmd{gregorio}はグレゴリオ聖歌楽譜を組版するためのパッケージ\pkg{%
  gregoriotex}に含まれる新しいプログラムです.このツールは\var{shell\_escape%
  \_commands}にデフォルトで含まれています.
\item \cmd{upmendex}は索引作成プログラムで,概ね\cmd{makeindex}と互換なもの
  ですが,Unicodeソートをサポートする他,いくつかの変更が加えられています.
\item \cmd{afm2tfm}はアクセントベースの高さ調整を上向きのみに行うようになり
  ました.\sopt{a}を使用するとすべての調整を省略します.
\item \cmd{ps2pk}が拡張PK/GFフォントを扱えるようになりました.
\end{itemize}

\MacTeX: システム環境設定の``\TeX\ Distribution''ペインが廃止され,そこで
取り扱われていた機能は\TL ユーティリティに移されました.同梱のGUIアプリケー
ションはアップデートされました.さまざまなCJKフォントをGhostscriptで扱いたい
ユーザのために新しく\cmd{cjk-gs-integrate}スクリプトが追加されました.

インフラ:システムレベルの\cmd{tlmgr}設定ファイルがサポートされました.また
パッケージのチェックサムを認証する機能が追加されました.GPGが利用可能な場合は
ネットワークアップデート時に署名も認証されるようになります.これらの認証は
インストーラと\cmd{tlmgr}の両方で行われます.GPGが利用できない場合,アップ
デートはこれまで通り処理されます.

プラットフォーム:\pkg{alpha-linux}と\pkg{mipsel-linux}は削除されました.

\subsubsection{2017}

\LuaTeX: コールバックや組版制御の機能が追加され,これまで以上に内部処理に
アクセスできるようになりました.動的なコード読み込みを行うための\code{ffi}%
ライブラリがいくつかのプラットフォーム向けに追加されました.

\pdfTeX: 昨年導入された環境変数\var{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES}%
は\var{FORCE\_SOURCE\_DATE}にリネームされました(機能はまったく同一です).
トークンリスト\cs{pdfpageattr}が文字列\code{/MediaBox}を含んでいる場合,
デフォルト\code{/MediaBox}の出力が省略されるようになりました.

\XeTeX: Unicode/OpenTypeのmath機能はHarfBuzzのMATHテーブルサポートに基づく
ようになりました.またいくつかのバグが修正されました.

\prog{dvips}: \cmd{dvipdfmx}との一貫性と他のパッケージから期待される挙動に
合わせるため,最後の用紙サイズspecialが適用されるようになりました.\sopt{%
L0}オプションを使用(または設定ファイルで\code{L0}指定)した場合,最初の
specialが優先される従来の挙動に戻ります.

\epTeX, \eupTeX: \pdfTeX 由来のプリミティブ\cs{pdfuniformdeviate},
\cs{pdfnormaldeviate}, \cs{pdf\-randomseed}, \cs{pdfsetrandomseed},
\cs{pdfelapsedtime}, \cs{pdfresettimer}が追加されました.

\MacTeX: 今年から,\MacTeX としてはAppleがセキュリティパッチを提供している
macOSのバージョンのみをプラットフォーム\pkg{x86\_64-darwin}としてサポート
することになりました.これにより,現在サポート対象となるのはYosemite, El~%
Capitan, Sierra(つまりmacOS 10.10以上)です.それよりも古いバージョンの
macOS向けのバイナリは\MacTeX には同梱されていませんが,\TL には含まれて
います (\pkg{x86\_64-darwinlegacy}, \pkg{i386-darwin}, \pkg{powerpc-darwin}).

インフラ:\var{TEXMFLOCAL}がデフォルトで\var{TEXMFSYSCONFIG}および\var{%
TEXMFSYSVAR}に先んじて検索されるようになりました.これはローカルなファイル
がシステムのそれを上書きするのがより期待される挙動であろうとの判断からです.
また\cmd{tlmgr}に新しく\code{shell}モード(対話的実行もしくはスクリプトから
使用されることを意図するものです)と\code{conf auxtrees}アクション(独自
ツリーの追加と削除が容易にできます)が追加されました.

\cmd{updmap}と\cmd{fmtutil}: これらのスクリプトは明示的にいわゆるシステム
モード(\code{updmap-sys}, \code{fmtutil-sys}コマンドの実行または\sopt{sys}%
オプションの利用)またはユーザモード(\code{updmap-user}, \code{fmtutil-user}%
コマンドの実行または\sopt{user}オプションの利用)を指定せずに実行された場合,
警告を表示するようになりました.これは長年に渡って意図せずユーザモードで
スクリプトが実行され,その後システム側のアップデートが反映されない問題へ
対処するための措置です.詳細は\url{https://tug.org/texlive/scripts-sys-user.%
html}を参照してください.

\cmd{install-tl}: macOSにおける\var{TEXMFHOME}等の個人用パスのデフォルト値が
\MacTeX のデフォルト値\dir{~/Library/...}に合わせられました.新しく\sopt{%
init-from-profile}オプションが追加され,指定したプロフィールの値に基づいて
インストールを開始できるようになったほか,明示的にプロフィールを保存する
\code{P}コマンドが追加されました.またプロフィールで指定する変数の名前が
更新されました(古い変数名も引き続き使用可能です).

Sync\TeX: 一時ファイルの名前が\file{foo.synctex.gz(busy)}のような形から\file{%
foo.synctex(busy)}に変更されました(\file{.gz}の部分が省略されます).一時
ファイルを削除するフロントエンドやビルドシステムは対応が必要かもしれません.

その他のユーティリティ:\cmd{texosquery-jre8}は新しいクロスプラットフォームな
プログラムで,\TeX 文書の中からロケールその他のOS情報を収集するためのものです.
このツールは制限付きシェル実行時でも起動できるよう,デフォルトで\var{shell\_%
escape\_commands}に追加されています(\prog{texosquery}はJREの古いバージョンも
サポートしていますが,古いJREで実行する場合には制限モードでは実行できません.
古いJREは既にOracleによってサポートされておらず,セキュリティ上の懸念がある
ためです).

プラットフォーム:上の\MacTeX の項目を確認してください.それ以外の変更は
ありません.

\subsubsection{2018}

\KPS: システムディレクトリ以外に対してはデフォルトで大文字・小文字を区別せず
ファイル検索を行うようになりました.これまで通り大文字・小文字を区別したい
場合は\file{texmf.cnf}または環境変数で\var{texmf\_casefold\_search}を\code{0}%
に設定してください.詳細は\KPS のマニュアル (\url{https://tug.org/kpathsea})
を参照してください.

\epTeX, \eupTeX: 新プリミティブ\cs{epTeXversion}が追加されました.

\LuaTeX: {\TL} 2019でLua 5.3に移行するための準備として,ほとんどのプラット
フォーム向けにバイナリ\cmd{luatex53}が追加されました.有効化するためには
\code{luatex}にリネームしてください.もしくは{\ConTeXt} Garden (\url{%
https://wiki.contextgarden.net}) のファイルを使用してください(詳細はサイトを
参照してください).

\MP: 間違ったパス方向とTFM, PNG出力に関する問題が修正されました.

\pdfTeX: ビットマップフォントについてエンコーディングベクタが許容されるよう
になり,カレントディレクトリがPDF ID中にハッシュされなくなりました.\cs{%
pdfprimitive}とそれに関連するバグ修正が行われました.

\XeTeX: PDF画像挿入時に\code{/Rotate}がサポートされるようになりました.
出力ドライバが正常終了しなかった際の終了ステータスが非ゼロ値になりました.
UTF-8やプリミティブ周りのさまざまな不具合が修正されました.

\MacTeX: 下記のサポートmacOSバージョン変更を確認してください.加えて,
\MacTeX によって\dir{/Applications/TeX/}以下にインストールされていたファイル
が整理されました.今後このディレクトリ直下にはGUIプログラム (BibDesk, LaTeXiT,
{\TL} Utility, {\TeX}Shop) が置かれ,サブディレクトリに追加のユーティリティや
ドキュメントが配置されます.

\cmd{tlmgr}: 新しいフロントエンド\cmd{tlshell} (Tcl/Tk) と\cmd{tlcockpit}
(Java) が追加されました.それに伴い,\cmd{tlmgr}がJSON出力に対応しました.
\code{uninstall}コマンドは\code{remove}の別名になりました.新しいアクション
および同名オプションとして\code{print-platform-info}が追加されました.

プラットフォーム:
%
\begin{itemize}[nosep]
\item \pkg{armel-linux}と\pkg{powerpc-linux}は削除されました.
\item \pkg{x86\_64-darwin}のサポート対象はmacOS 10.10--10.13 (Yosemite, El~%
  Capitan, Sierra, High~Sierra) になりました.
\item \pkg{x86\_64-darwinlegacy}のサポート対象は10.6--10.10です(10.10について
  は\pkg{x86\_64-darwin}の利用をおすすめします).\pkg{powerpc-darwin}と\pkg{%
  i386-darwin}が削除されたことによって,10.5 (Leopard) のサポートは完全的に
  終了しました.
\item Windows XPはもはやサポートされません.
\end{itemize}

\subsubsection{2019}

\KPS: ブレース展開とパス分割の一貫性が高まりました.設定ファイルでは\samp{.}を
ハードコードする代わりに新しい変数\var{TEXMFDOTDIR}を使用することになりました.
これは,追加のディレクトリやサブディレクトリの検索を容易にするためです(詳細は
\file{texmf.cnf}内のコメントを参照してください).

\epTeX, \eupTeX: 新プリミティブ\cs{readpapersizespecial}と\cs{expanded}が追加
されました.

\LuaTeX: Luaのバージョンが新しい算術演算とインターフェースの変更を含む5.3に
上がりました.PDF読み込みに独自ライブラリpplibが用いられるようになったので,
popplerへの依存がなくなりました(同時にC++にも依存しなくなりました).これに
伴いLuaインターフェースも変更になっています.

\MP: 常に\lopt{restricted}が有効となる\cmd{r-mpost}コマンドが導入され,
同コマンドはデフォルトで制限リストに追加されるようになりました.デシマル・
バイナリモードにおける最小精度は2になりました.バイナリモードはMPlibでは
サポートされなくなりましたが,スタンドアロンな\MP では今でも利用可能です.

\pdfTeX: 新プリミティブ\cs{expanded}が追加されました.新しいパラメタ\cs{pdf%
omitcharset}が\code{1}に設定されている場合,\code{/CharSet}はPDF出力で省略
されるようになりました.これはその値がPDF/A-2およびPDF/A-3の仕様を満たすこと
を保証できないためです.

\XeTeX: 新プリミティブ\cs{expanded}, \cs{creationdate}, \cs{elapsedtime},
\cs{filedump}, \cs{filemoddate}, \cs{filesize}, \cs{resettimer},
\cs{normaldeviate}, \cs{uniformdeviate}, \cs{randomseed}が追加されました.
また\cs{Ucharcat}はアクティブ文字を生成できるように拡張されました.

\cmd{tlmgr}: ダウンロード用ツール\cmd{curl}をサポートしました.ローカル
バックアップの際に(利用可能であれば)\cmd{lz4}と\cmd{gzip}を\cmd{xz}を適用
する前に使用するようになりました.環境変数\var{TEXLIVE\_PREFER\_OWN}が設定
されていない限り,圧縮およびダウンロード用に用いるプログラムについては\TL
が同梱するものよりもシステムに用意されているものを優先して使用するように
なりました.

\cmd{install-tl}: macOSおよびWindowsでは新オプション\sopt{gui}(引数なし)
がデフォルトになりました.この状態では新しいTcl/TK GUIが起動されます(詳細
は\ref{sec:basic}節,\ref{sec:graphical-inst}節を参照してください).

ユーティリティ:
%
\begin{itemize}[nosep]
\item \cmd{cwebbin} (\url{https://ctan.org/pkg/cwebbin}) が\TL における
  CWEB実装となりました.この実装ではより多くの言語がサポートされ,簡易な
  索引を作成する\cmd{ctwill}プログラムが追加されています.
\item \cmd{chkdvifont}: DVIファイルやtfm/ofm, vf, gf, pkからフォント情報
  を抽出して報告します.
\item \cmd{dvispc}: スペシャルを考慮して,DVIをページ独立にします.
\end{itemize}

\MacTeX: \pkg{x86\_64-darwin}のサポート対象は10.12以上 (Sierra, High~Sierra,
Mojave) になりました.\pkg{x86\_64-darwinlegacy}は引き続き10.6以降をサポート
します.スペルチェッカExcaliburはもはや同梱されません(32-bitサポートが必要
なためです).

プラットフォーム:\pkg{sparc-solaris}は削除されました.

\subsubsection{2020}

全般:
%
\begin{itemize}[nosep]
\item すべての\TeX エンジン(\cmd{tex}を含む)の\cs{input}プリミティブが,
  システム依存の拡張としてファイル名をグループ区切りの引数として受け取れる
  ようになりました.標準的なスペーストークン区切りのファイル名に関する
  挙動は従来から一切変更されていません.このグループ区切り引数は\LuaTeX では
  元々実装されていたもので,今年からすべてのエンジンで利用可能になりました.
  ASCIIのダブルクオテーション文字 (\code{"}) はファイル名から除去されますが,
  その他の変更が引数に対してトークン化後に行われることはありません.この変更は
  今のところ\LaTeX の\cs{input}コマンドには影響を与えません.このコマンドは
  標準の\cs{input}プリミティブを再定義したマクロだからです.
\item 新しいオプション\lopt{cnf-line}が\cmd{kpsewhich}, \cmd{tex}, \cmd{mf}と
  その他すべてのエンジンで利用可能になりました.このオプションは任意の
  texmf設定項目をコマンドラインで指定するためのものです.
\item ここ数年でさまざまなプリミティブが各種エンジンに追加されたのは,すべての
  処理系で共通の機能を利用可能にするためです.
  (cf.\,\textsl{\LaTeX\ News \#31}, \url{https://latex-project.org/news})
\end{itemize}

\epTeX, \eupTeX: 新しいプリミティブ\cs{Uchar}, \cs{Ucharcat},
\cs{current(x)spacingmode}, \cs{ifincsname}が追加されました.また
\cs{fontchar??}と\cs{iffontchar}の仕様が改訂されました.\eupTeX に限り
\cs{currentcjktoken}も利用可能になりました.

\LuaTeX: HarfBuzzライブラリが導入され,\cmd{luahbtex}と\cmd{luajithbtex}が
追加されました.前者は\cmd{lualatex}で使用されることになりました.新しい
プリミティブとして\cs{eTeXgluestretchorder}, \cs{eTeXglueshrinkorder}が
追加されました.

\pdfTeX: 新プリミティブ\cs{pdfmajorversion}が追加されました.これは単に
PDF出力のバージョン番号を変更するもので,PDFの内容そのものに対しては一切の
効果を持ちません.\cs{pdfximage}と類似するコマンドは\cs{openin}と同様の
方法で画像ファイルを検索するようになりました.

\pTeX: 新プリミティブ\cs{ifjfont}, \cs{iftfont}が追加されました.\epTeX,
\upTeX, \eupTeX も同様です.

\XeTeX: \cs{Umathchardef}, \cs{XeTeXinterchartoks}, \cs{pdfsavepos}の
挙動が修正されました.

Dvips: ビットマップフォントについてエンコーディングが出力されるようになり,
コピー&ペーストがしやすくなりました
(\url{https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf}).

\MacTeX: \MacTeX と\pkg{x86\_64-darwin}のサポート対象がmacOS 10.13以上
(High~Sierra, Mojave, Catalina) になりました.\pkg{x86\_64-darwinlegacy}は
macOS 10.6以上をサポートします.Apple社の要請に基づき,\MacTeX は公証を
受け,そのコマンドラインプログラムはhardened runtimeをもつようになって
います.BibDeskと\TL ユーティリティは公証を受けていないため\MacTeX に含ま
れていませんが,\file{README}にはそれらを入手できるURLが記載されています.

\cmd{tlmgr}とインフラ:
%
\begin{itemize}[nosep]
\item ダウンロード失敗時に(一度だけ)自動的に再試行するようになりました.
\item 新オプション\code{tlmgr check texmfdbs}が追加されました.これにより
  \file{ls-R}ファイルと各ツリーにおける\code{!!}指定の整合性を確認する
  ことができます.
\item パッケージコンテナに\code{tlnet/archive/\textsl{pkgname}.rNNN.tar.xz}%
  といった形でバージョン情報を含むファイル名が用いられるようになりました.
  この変更はユーザに直接影響しないはずですが,ディストリビューションとしては
  大きな変更点です.
\item \code{catalogue-date}情報は,パッケージアップデートには関係がないことが
  多いため,\TeX カタログには伝達されないことになりました.
\end{itemize}

\subsubsection{2021}

全般:
%
\begin{itemize}[nosep]
\item Donald Knuthによる{\TeX\slash\MF} Tuneup 2021の変更内容を取り込み
  ました (\url{https://tug.org/TUGboat/tb42-1/tb130knuth-tuneup21.pdf}).
  こうしたコードは\code{knuth-dist}および\code{knuth-local}パッケージとして
  CTANから入手することもできます.大方の予想通り,このTuneupによる修正は
  極めて特殊なケースに対するもので,実用的な挙動に関しては何ら影響は
  ありません.
\item オリジナルの\TeX 以外:\cs{tracinglostchars}が3以上に設定されている
  場合,存在しない文字が入力された際は単にメッセージをログファイルに出力
  するだけではなく,エラーを起こすようになりました.また当該文字コードは
  16進数で表示されます.
\item オリジナルの\TeX 以外:新しい整数パラメタ\cs{tracingstacklevels}が
  導入されました.その値が正かつ,\cs{tracingmacros}の値も正の場合,
  関連するログ出力でマクロ展開の深さを示すプレフィックスが付くように
  なります(例えば,深さ2のときは\verb|~..|).また,マクロ展開の
  トレースはこのパラメタで指定された数値以上に深いものについては
  切り捨てられます.
\end{itemize}

{\ALEPH} (Aleph): \ALEPH 上の\LaTeX フォーマットである\prog{lamed}は
\TL から除かれました.\code{aleph}バイナリそのものは\TL に残り,また
サポートも続きます.

\LuaTeX:
%
\begin{itemize}[nosep]
\item Luaインタプリタのバージョンが5.3.6になりました.
\item 新しい\cs{tracingstacklevels}の一般化として,\cs{tracingmacros}%
  で用いられるネストレベルへのコールバックが追加されました.
\item 数式グリフはテキストとして処理されないようにマークされました.
\item 伝統的な数式コードパスのためにwidth/id補正をやめました.
\end{itemize}

\MP:
%
\begin{itemize}[nosep]
\item 再現可能な出力を行うため,環境変数\var{SOURCE\_DATE\_EPOCH}が
  サポートされました.
\item \code{mpto}で不要な\code{\%}が付いていたバグが修正されました.
\item \sopt{T}オプションをドキュメント化したほか,マニュアルに細かい
  修正を行いました.
\item \verb|mp_solve_rising_cubic|が期待通り動作するように,
  2進モードと10進モードにおける\code{epsilon}の値を変更しました.
\end{itemize}

\pdfTeX:
%
\begin{itemize}[nosep]
\item 新プリミティブ\cs{pdfrunninglinkoff}, \cs{pdfrunninglinkon}を
  導入しました.これらは例えばヘッダーやフッターでリンクが生成される
  のを防止するのに使うことができます.
\item \cs{pdfendlink}が\cs{pdfstartlink}と異なるネストレベルで現れた
  場合に,停止する代わりに警告を発するようになりました.
\item \cs{pdfglyphtounicode}の代入結果を\code{fmt}ファイルにダンプ
  するようになりました.
\item ソース:upstreamへの追随が困難なので,\code{poppler}サポート
  は除去されました.\TL では,\pdfTeX は常に\code{libs/xpdf}(調整
  された\cmd{xpdf}の内部ライブラリ)が使われてきました.
\end{itemize}

\XeTeX: 数式カーニングに関する修正をしました.

\begin{samepage}
DVIPDFM$x$:
%
\begin{itemize}[nosep]
\item Ghostscriptはデフォルトで安全に呼び出されるようになりました.
  (すべての入力ファイルが信頼できるという前提の下で)この安全な
  呼び出しを無効化する場合は\sopt{i dvipdfmx-unsafe.cfg}を使用して
  ください.これはPSTricksを\XeTeX で使用する場合には必須です.
  すなわち
  \verb|xetex -output-driver="xdvipdfmx -i dvipdfmx-unsafe.cfg -q -E" ...|%
  としてください.
\item 画像ファイルが見つからなかった場合,失敗ステータスで終了します.
\item カラーサポートのためのspecial書式を拡張しました.
\item \code{ExtGState}を操作するためのspecialを追加しました.
\item \code{pdfcolorstack}, \code{pdffontattr}と互換のspecialを
  追加しました.
\item \code{dviluatex}の拡張\verb|fnt_def|を試験的にサポートしました.
\item 仮想フォントに関する新機能として日本語フォント定義のフォール
  バックを実装しました.
\end{itemize}
\end{samepage}

Dvips:
%
\begin{itemize}[nosep]
\item デフォルトのPostScript文書のタイトルは入力ファイルのベースネーム
  になりました.またこの設定は新オプション\sopt{title}でも上書きする
  ことができます.
\item EPSやその他の画像ファイルが見つからない場合,失敗ステータスで
  終了します.
\item 仮想フォントに関する新機能として日本語フォント定義のフォール
  バックを実装しました.
\end{itemize}

\MacTeX: \MacTeX とその新しいバイナリフォルダ\pkg{universal-darwin}は
macOS 10.14以上 (Mojave, Catalina, Big~Sur) を要求するようになりました.
\pkg{x86\_64-darwin}バイナリフォルダは廃止されました.\pkg{x86\_64-%
darwinlegacy}はUnix版の\cmd{install-tl}でのみ利用可能で,macOS 10.6以上
をサポートしています.

今年はMacにとっては重要な年です.というのも,Appleが新しいARMマシンを
11月に発表し,今後何年もARMマシンとIntelマシンの販売・サポートを行う
としたからです.\pkg{universal-darwin}にあるすべてのプログラムはARMと
Intelの両方に対応した実行ファイルを持っています.いずれのバイナリも
同じソースからコンパイルされています.

\MacTeX の追加プログラムであるGhostscript, LaTeXiT, {\TL} Utility,
{\TeX}Shopはいずれも両方のアーキテクチャに対応しており,また署名済み
のhardened runtimeを持つようになったので,すべて今年の\MacTeX に
含められました.

\cmd{tlmgr}とインフラ:
%
\begin{itemize}[nosep]
\item メインリポジトリの\file{texlive.tlpdb}バックアップを1つに
  限定しました.
\item システム・Perlバージョン依存性をさらに軽減しました.
\item \cmd{tlmgr info}が新しいエントリ\code{lcat-*}と\code{rcat-*}%
  (それぞれローカル・リモートカタログに対応)を表示するように
  なりました.
\item サブコマンドの完全なログは\file{texmf-var/web2c/tlmgr-%
  commands.log}に移動しました.
\end{itemize}

\subsection{現在:2022}
\label{sec:tlcurrent}

全般:
%
\begin{itemize}[nosep]
\item 独自の形式HINTを出力するHi\TeX が追加されました.HINTは技術文書を
  モバイル端末で読むのに適するようにデザインされたものです.HINTビューアは
  GNU/Linux, Windows, Android向けのものが開発されていますが,\TL には含まれて
  いません.
\item \prog{tangle}, \prog{weave}: 3つ目の引数(省略可)に出力先のファイルを
  指定できるようになりました.
\item \WEB プログラムについて「ミニインデックス」を作成するためのKnuth製の
  プログラム\prog{twill}が収録されました.
\end{itemize}

エンジン共通の拡張(Knuthian \TeX, Aleph, Hi\TeX を除く):
%
\begin{itemize}[nosep]
\item \cs{show}の出力をファイルにリダイレクトする\cs{showstream}プリミティブ
  が追加されました.
\item 空行や垂直ボックスの終端などに挿入される\cs{par}トークンを別のトークンに
  変更するためのプリミティブ\cs{partokenname}, \cs{partokencontext}が追加
  されました.
\end{itemize}

\epTeX, \eupTeX:
%
\begin{itemize}[nosep]
\item 新プリミティブ\cs{lastnodefont}, \cs{suppresslongerror},
  \cs{suppressoutererror}, \cs{suppressmathparerror}が追加されました.
\item \pdfTeX の拡張\code{\cs{vadjust} pre}がサポートされました.
\end{itemize}

\LuaTeX:
%
\begin{itemize}[nosep]
\item 構造化PDF 2.0出力がサポートされました.
\item PDF 2.0のPNG /Smaskもサポートされました.
\item バリアブルフォントのインターフェースが\cmd{luahbtex}に追加されました.
\item \cs{mathdefaultsmode}の規定ラジカルスタイルが変更されました.
\item 選択したdiscretionaryの作成しないようにするオプション機能が追加されました.
\item TrueTypeフォント実装を改善しました.
\item \cs{fontdimen}アロケーションがより効率的になりました.
\item 方向同期ノードが後ろに続くローカル\code{par}ノードのみからなる段落は無視する
  ようになりました.
\end{itemize}

\MP: マクロ展開が停止しなくなるバグを修正しました.

\pdfTeX:
%
\begin{itemize}[nosep]
\item 構造化PDF 2.0出力がサポートされました.
\item レタースペーシング済みフォントについて,指定のある場合は明示的に
  \cs{fontdimen6}を使用するようになりました.
\item 警告は常に行頭に出力されるようになりました.
\item 自動カーニング(\cs{pdfappendkern}と\cs{pdfprependkern})についても
  protrusionを行うようになりました.同様に自動カーニングの位置にも明示的
  もしくは暗黙的なハイフネーションが行われます.
\end{itemize}

\pTeX など:
%
\begin{itemize}[nosep]
\item 現在の\LaTeX をより強力にサポートする\pTeX\ 4.0.0にメジャー
  アップデートされました.
\item 新プリミティブ\cs{ptexlineendmode}, \cs{toucs}が追加されました.
\item これまでは\upTeX, \eupTeX でのみサポートされていた\cs{ucs}が\pTeX と\epTeX
  でもサポートされました.
\item 北川氏のTUGboat記事 (\url{https://tug.org/TUGboat/tb41-3/%
  tb129kitagawa-char.pdf}) にあるように,8-bit文字と和文文字が区別される
  ようになりました.
\end{itemize}

\XeTeX: \XeTeX とPSTricksの透過機能(Ghostscriptの実装の問題で,この機能を
使うと安全性が損なわれます)を必要とする文書を簡単に処理できるように,新たな
ラッパ\cmd{xetex-unsafe}と\cmd{xelatex-unsafe}が追加されました.

DVIPDFM$x$:
%
\begin{itemize}[nosep]
\item \sopt{dNOSAFER}を指定しなくてもPSTricksをサポートするようになりました
  (透過機能を除く).
\item ビットマップフォントの解像度を指定する\sopt{r}が再び動作するようになりました.
\end{itemize}

Dvips: デフォルトでは回転されたページサイズ用の自動メディア調整を試行しないように
なりました.新設の\sopt{landscaperotate}オプションを指定すると再度有効化されます.

\prog{upmendex}: 実験的にアラビア文字・ヘブライ文字をサポートしました.全般的に
文字分類と多言語サポートが強化されました.

Kpathsea: \code{kpsewchih -all}の結果において通常(非\sopt{all})の探索の結果が
一番に出力されるようになりました.

\prog{tlmgr}とインフラ:
%
\begin{itemize}[nosep]
\item \code{mirror.ctan.org}についてデフォルトでHTTPSを使うようになりました.
\item 再配置が簡単になるように\code{SELFAUTOPARENT}の代わりに\code{TEXMFROOT}を
  使うようになりました.
\item \prog{install-tl}: あるパッケージのダウンロードやインストールに失敗した際,
 自動的に後続のパッケージのインストールを続行し,後で(一度だけ)再試行するように
 なりました.
\end{itemize}

\MacTeX: \MacTeX とそのバイナリフォルダ\dir{universal-darwin}がmacOS 10.14以上 (Mojave,
Catalina, Big Sur, Monterey) になりました.\dir{x86\_64-darwinlegacy}フォルダのバイナリ
(Unix版の\prog{install-tl}でのみインストール可能)macOS 10.6 (Snow Leopard) 以降を
サポートします.

プラットフォーム:サポート対象のプラットフォームに増減はありません.
来年(2023年)のリリースからはWindows向けのバイナリを32-bitから64-bitに変更する
予定です.残念ながら両方を同時にうまくサポートすることはできません.

\subsection{未来}

私たちはこれからも新しいバージョンのリリースを続けるつもりで,より多くの
ドキュメントとプログラム,これまで以上に良質で品質の保証されたマクロと
フォントのツリー,その他\TeX に関連するあらゆる成果物を提供していく
つもりです.こうした仕事はすべてボランティアが余暇を使用して行っており,
そのために常にやるべきことが残っています.ぜひ\url{https://tug.org/%
texlive/contribute.html}を読んで,コントリビューションを検討してください.

\begin{samepage}
間違いの指摘や提案,ヘルプの要望は以下に送ってください(英語):
%
\begin{quote}
\email{tex-live@tug.org} \\
\url{https://tug.org/texlive}
\end{quote}
%
\medskip
\noindent \textsl{Happy \TeX ing!}
\end{samepage}

\end{document}