summaryrefslogtreecommitdiff
path: root/libre/texlive-bin-libre/texmf.cnf
blob: 76975ee5c1a4025f742a64015fc9f9b20b4c4703 (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
% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea.
% Public domain.
% 
% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated.  Instead, put your changes -- and only your changes, not an
% entire copy of the full texmf.cnf! -- in ../../texmf.cnf.  That is, if
% this file is installed in /some/path/to/texlive/2011/texmf/web2c/texmf.cnf,
% add your custom settings to /some/path/to/texlive/2011/texmf.cnf.
% 
% What follows is a super-summary of what this .cnf file can
% contain. Please read the Kpathsea manual for more information.
%
% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
% The `=' (and surrounding spaces) is optional.
% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
% Long lines can be continued with a \.
%
% Earlier entries (in the same or another file) override later ones, and
% an environment variable foo overrides any texmf.cnf definition of foo.
%
% All definitions are read before anything is expanded, so you can use
% variables before they are defined.
%
% If a variable assignment is qualified with `.PROGRAM', it is ignored
% unless the current executable (last filename component of argv[0]) is
% named PROGRAM.  This foo.PROGRAM construct is not recognized on the
% right-hand side. For environment variables, use FOO_PROGRAM.
%
% Which file formats use which paths for searches is described in the
% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
%
% // means to search subdirectories (recursively).
% A leading !! means to look only in the ls-R db, never on the disk.
% In this file, either ; or : can be used to separate path components.
% A leading/trailing/doubled path separator in the paths will be
%   expanded into the compile-time default. Probably not what you want.
%
% Brace notation is supported, for example: /usr/local/{mytex,othertex}
% expands to /usr/local/mytex:/usr/local/othertex.  We make extensive
% use of this.


%  Part 1: Search paths and directories.

% This is the parent directory of our several trees, i.e.,
% /usr/local/texlive/YYYY in the original TeX Live distribution.
%
% All trees must be organized according to the TeX Directory Structure
% (http://tug.org/tds), or files may not be found.
%
% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
TEXMFROOT = $SELFAUTODIR/share

% The tree containing runtime files related to the specific
% distribution and version.
TEXMFMAIN = $TEXMFROOT/texmf

% The main tree of packages, distribution-agnostic:
TEXMFDIST = $TEXMFROOT/texmf-dist

% Local additions to the distribution trees.
TEXMFLOCAL = /usr/local/share/texmf

% TEXMFSYSVAR, where *-sys store cached runtime data.
TEXMFSYSVAR = /var/lib/texmf

% TEXMFSYSCONFIG, where *-sys store configuration data.
TEXMFSYSCONFIG = /etc/texmf

% Per-user texmf tree(s) -- organized per the TDS, as usual.  To define
% more than one per-user tree, set this to a list of directories in
% braces, as described above.  (This used to be HOMETEXMF.)  ~ expands
% to %USERPROFILE% on Windows, $HOME otherwise.
TEXMFHOME = ~/texmf

% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
TEXMFVAR = ~/.texlive/texmf-var

% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
TEXMFCONFIG = ~/.texlive/texmf-config

% List all the texmf trees.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
% 
% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the
% files in TEXMFMAIN are tightly coupled with the particular version of
% the distribution, such as configuration files.  Overriding them would
% be more likely to cause trouble than help.  On the other hand, the
% bulk of packages and fonts are in TEXMFDIST, and locally-installed
% versions should take precedence over those -- although it is generally
% a source of confusion to have different versions of a package
% installed, whatever the trees, so try to avoid it.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}

% Where to look for ls-R files.  There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use it.
% By default, this is only the !! elements of TEXMF, so that mktexlsr
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea.
TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}

% The system trees.  These are the trees that are shared by all users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST

% Where generated fonts may be written.  This tree is used when the sources
% were found in a system tree and either that tree wasn't writable, or the
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
VARTEXFONTS = $TEXMFVAR/fonts

% On some systems, there will be a system tree which contains all the font
% files that may be created as well as the formats.  For example
%   TEXMFVAR = /var/lib/texmf
% is used in many distros.  In this case, set VARTEXFONTS like this
%VARTEXFONTS = $TEXMFVAR/fonts
% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Usually you will not need to edit any of the following variables.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% WEB2C is for Web2C specific files.  The current directory may not be
% a good place to look for them.
WEB2C = $TEXMF/web2c

% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
% or \openin, including .sty, .eps, etc.  We specify paths for all known
% formats, past or present.  Not all of them are built these days.

% Plain TeX.  Have the command tex check all directories as a last
% resort, we may have plain-compatible stuff anywhere.
TEXINPUTS.tex           = .;$TEXMF/tex/{plain,generic,}//

% Fontinst needs to read afm files.
TEXINPUTS.fontinst      = .;$TEXMF/{tex,fonts/afm}//

% Other plain-based formats.
TEXINPUTS.amstex        = .;$TEXMF/tex/{amstex,plain,generic,}//
TEXINPUTS.csplain       = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.eplain        = .;$TEXMF/tex/{eplain,plain,generic,}//
TEXINPUTS.ftex          = .;$TEXMF/tex/{formate,plain,generic,}//
TEXINPUTS.mex           = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.texinfo       = .;$TEXMF/tex/{texinfo,plain,generic,}//

% LaTeX 2e specific macros are stored in latex/, macros that can only be
% used with 2.09 in latex209/.  In addition, we look in the directory
% latex209, useful for macros that were written for 2.09 and do not
% mention 2e at all, but can be used with 2e.
TEXINPUTS.cslatex       = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.latex         = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.latex209      = .;$TEXMF/tex/{latex209,generic,latex,}//
TEXINPUTS.olatex        = .;$TEXMF/tex/{latex,generic,}//

% MLTeX.
TEXINPUTS.frlatex       = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frtex         = .;$TEXMF/tex/{french,plain,generic,}//
TEXINPUTS.mllatex       = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.mltex         = .;$TEXMF/tex/{plain,generic,}//

% e-TeX.
TEXINPUTS.elatex        = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.etex          = .;$TEXMF/tex/{plain,generic,}//

% pdfTeX.
TEXINPUTS.pdfcslatex    = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.pdfcsplain    = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.pdflatex      = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfmex        = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.utf8mex       = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.pdftex        = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.pdftexinfo    = .;$TEXMF/tex/{texinfo,plain,generic,}//
TEXINPUTS.pdfamstex     = .;$TEXMF/tex/{amstex,plain,generic,}//

% pdfeTeX.
TEXINPUTS.pdfelatex     = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfetex       = .;$TEXMF/tex/{plain,generic,}//

% pdfxTeX.
TEXINPUTS.pdfxlatex     = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfxmex       = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.pdfxtex       = .;$TEXMF/tex/{plain,generic,}//

% LuaTeX.
TEXINPUTS.lualatex      = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.luatex        = .;$TEXMF/tex/{luatex,plain,generic,}//
TEXINPUTS.dvilualatex   = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
TEXINPUTS.dviluatex     = .;$TEXMF/tex/{luatex,plain,generic,}//

% XeTeX.
TEXINPUTS.xelatex       = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
TEXINPUTS.xeplain       = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
TEXINPUTS.xetex         = .;$TEXMF/tex/{xetex,plain,generic,}//

% Omega / Aleph.
TEXINPUTS.aleph         = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.elambda       = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.eomega        = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.lambda        = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.lamed         = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
TEXINPUTS.omega         = .;$TEXMF/tex/{plain,generic,}//

% p(La)TeX.
TEXINPUTS.ptex          = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
TEXINPUTS.platex        = .;$TEXMF/tex/{platex,ptexgeneric,latex,generic,}//

% epTeX.
TEXINPUTS.eptex         = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//

% pBibTeX bibliographies and style files.
BIBINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bib//
BSTINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bst//

% ConTeXt.
TEXINPUTS.context       = .;$TEXMF/tex/{context,plain,generic,}//

% jadetex.
TEXINPUTS.jadetex       = .;$TEXMF/tex/{jadetex,latex,generic,}//
TEXINPUTS.pdfjadetex    = .;$TEXMF/tex/{jadetex,latex,generic,}//

% XMLTeX.
TEXINPUTS.xmltex        = .;$TEXMF/tex/{xmltex,latex,generic,}//
TEXINPUTS.pdfxmltex     = .;$TEXMF/tex/{xmltex,latex,generic,}//

% Miscellany, no longer built.
TEXINPUTS.lamstex       = .;$TEXMF/tex/{lamstex,plain,generic,}//
TEXINPUTS.lollipop      = .;$TEXMF/tex/{lollipop,plain,generic,}//
TEXINPUTS.frpdflatex    = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frpdftex      = .;$TEXMF/tex/{french,plain,generic,}//

% Earlier entries override later ones, so put this generic one last.
TEXINPUTS               = .;$TEXMF/tex/{$progname,generic,}//

% ttf2tfm.
TTF2TFMINPUTS =                 .;$TEXMF/ttf2pk//

% Metafont, MetaPost inputs.
MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
MPINPUTS = .;$TEXMF/metapost//

% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
% We want to find the engine-specific file, e.g., cont-en.fmt can
% exist under both pdftex/ and xetex/.  But just in case some formats
% end up without an engine directory, look directly in web2c/ too.
% We repeat the same definition three times because of the way fmtutil
% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
% will not be found.
TEXFORMATS = .;$TEXMF/web2c{/$engine,}
MFBASES = .;$TEXMF/web2c{/$engine,}
MPMEMS = .;$TEXMF/web2c{/$engine,}
%
% As of 2008, pool files don't exist any more (the strings are compiled
% into the binaries), but just in case something expects to find these:
TEXPOOL = .;$TEXMF/web2c
MFPOOL = ${TEXPOOL}
MPPOOL = ${TEXPOOL}

% support the original xdvi.  Must come before the generic settings.
PKFONTS.XDvi   = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
VFFONTS.XDvi   = .;$TEXMF/%s
PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
TEXPICTS.XDvi  = .;$TEXMF/%q{dvips,tex}//

% Device-independent font metric files.
VFFONTS = .;$TEXMF/fonts/vf//
TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//

% The $MAKETEX_MODE below means the drivers will not use a cx font when
% the mode is ricoh.  If no mode is explicitly specified, kpse_prog_init
% sets MAKETEX_MODE to /, so all subdirectories are searched.  See the manual.
% The modeless part guarantees that bitmaps for PostScript fonts are found.
PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//

% Similarly for the GF format, which only remains in existence because
% Metafont outputs it (and MF isn't going to change).
GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//

% A backup for PKFONTS and GFFONTS. Not used for anything.
GLYPHFONTS = .;$TEXMF/fonts

% A place to puth everything that doesn't fit the other font categories.
MISCFONTS = .;$TEXMF/fonts/misc//

% font name map files.  This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
% subdirs.  Maybe if the programs ever get unified to accepting the same
% map file syntax the definition can be simplified again.
TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//

% BibTeX bibliographies and style files.  bibtex8 also uses these.
BIBINPUTS = .;$TEXMF/bibtex/bib//
BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//

% MlBibTeX.
MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//

% .ris and .bltxml bibliography formats.
RISINPUTS = .;$TEXMF/bibtex/ris//
BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//

% MFT style files.
MFTINPUTS = .;$TEXMF/mft//

% PostScript headers and prologues (.pro); unfortunately, some programs
% also use this for acessing font files (enc, type1, truetype)
TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//

% OSFONTDIR is to provide a convenient hook for allowing TeX to find
% fonts installed on the system (outside of TeX).  An empty default
% value would add "//" to the search paths, so we give it a dummy value.
% OSFONTDIR = /usr/share/fonts

% PostScript Type 1 outline fonts.
T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//

% PostScript AFM metric files.
AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//

% TrueType outline fonts.
TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//

% OpenType outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//

% Type 42 outline fonts.
T42FONTS = .;$TEXMF/fonts/type42//

% Ligature definition files.
LIGFONTS =  .;$TEXMF/fonts/lig//

% Dvips' config.* files (this name should not start with `TEX'!).
TEXCONFIG = $TEXMF/dvips//

% Makeindex style (.ist) files.
INDEXSTYLE = .;$TEXMF/makeindex//

% Font encoding files (.enc).
ENCFONTS = .;$TEXMF/fonts/enc//

% CMap files.
CMAPFONTS = .;$TEXMF/fonts/cmap//

% Subfont definition files.
SFDFONTS = .;$TEXMF/fonts/sfd//

% OpenType feature files (.fea).
FONTFEATURES=.;$TEXMF/fonts/fea//

% .cid and .cidmap
FONTCIDMAPS=.;$TEXMF/fonts/cid//

% pdftex config files:
PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//

% Used by DMP (ditroff-to-mpx), called by makempx -troff.
TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
MPSUPPORT = .;$TEXMF/metapost/support

% For xdvi to find mime.types and .mailcap, if they do not exist in
% ~.  These are single directories, not paths.
% (But the default mime.types, at least, may well suffice.)
MIMELIBDIR = /etc
MAILCAPLIBDIR = /etc

% Default settings for the fontconfig library as used by the Windows
% versions of xetex/xdvipdfmx.  On Unixish systems, fontconfig ignores
% this.  ConTeXT MkIV (all platforms) also use these values.
% 
FONTCONFIG_FILE = fonts.conf
FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache

% TeX documentation and source files, for use with texdoc and kpsewhich.
TEXDOCS = $TEXMF/doc//
TEXSOURCES = .;$TEXMF/source//

% Web and CWeb input paths.
WEBINPUTS = .;$TEXMF/web//
CWEBINPUTS = .;$TEXMF/cweb//

% Omega-related fonts and other files.
OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
OTPINPUTS = .;$TEXMF/omega/otp//
OCPINPUTS = .;$TEXMF/omega/ocp//

% Some additional input variables for several programs.  If you add
% a program that uses the `other text files' or `other binary files'
% search formats, you'll want to add their variables here as well.
T4HTINPUTS   = .;$TEXMF/tex4ht//

%% t4ht utility, sharing files with TeX4ht
TEX4HTFONTSET=alias,iso8859,unicode
TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//

% TeXworks editor configuration and settings
TW_LIBPATH = $TEXMFCONFIG/texworks
TW_INIPATH = $TW_LIBPATH

% For security, do not look in . for dvipdfmx.cfg, since the D option
% would allow command execution.
DVIPDFMXINPUTS = $TEXMF/dvipdfmx

% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
% 
% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
% default expansion of TEXINPUTS will not happen and .lua files under
% the /tex/ will not be found.
% 
% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
% The default LUAINPUTS sufficess for luatex and dviluatex.
%
LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//

% Lua needs to look for binary lua libraries distributed with packages.
CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//

% Architecture independent executables.
TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//

% Other languages.
JAVAINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/java//
PERLINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/perl//
PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
RUBYINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/ruby//


%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
% KPSE_DOT = .

% This definition isn't used from this .cnf file itself (that would be
% paradoxical), but the compile-time default in paths.h is built from it.
% The SELFAUTO* variables are set automatically from the location of
% argv[0], in kpse_set_program_name.
% 
% This main texmf.cnf file is installed, for a release YYYY, in a
% directory such as /usr/local/texlive/YYYY/texmf/web2c/texmf.cnf.
% Since this file is subject to future updates, the TeX Live installer
% or human administrator may also create a file
% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
% will take precedence over the distributed one under texmf/web2c.
% 
% For security reasons, it is better not to include . in this path.
%
TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}

% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
% expansions from binaries linked against an earlier version of the
% library, we set $progname and $engine to something non-empty:
progname = unsetprogname
engine = unsetengine


%  Part 2: Options.

% If this option is set to true, `tex a.b' will look first for a.b.tex
% (within each path element), and then for a.b, i.e., we try standard
% extensions first.  If this is false, we first look for a.b and then
% a.b.tex, i.e., we try the name as-is first.
%
% Both names are always tried; the difference is the order in which they
% are tried.  The setting applies to all searches, not just .tex.
%
% This setting only affects names being looked up which *already* have
% an extension.  A name without an extension (e.g., `tex story') will
% always have an extension added first.
%
% The default is true, because we already avoid adding the standard
% extension(s) in the usual cases.  E.g., babel.sty will only look for
% babel.sty, not babel.sty.tex, regardless of this setting.
try_std_extension_first = t

% Enable system commands via \write18{...}.  When enabled fully (set to
% t), obviously insecure.  When enabled partially (set to p), only the
% commands listed in shell_escape_commands are allowed.  Although this
% is not fully secure either, it is much better, and so useful that we
% enable it for everything but bare tex.
shell_escape = p

% No spaces in this command list.
% 
% The programs listed here are as safe as any we know: they either do
% not write any output files, respect openout_any, or have hard-coded
% restrictions similar or higher to openout_any=p.  They also have no
% features to invoke arbitrary other programs, and no known exploitable
% bugs.  All to the best of our knowledge.  They also have practical use
% for being called from TeX.
% 
shell_escape_commands = \
bibtex,bibtex8,\
kpsewhich,\
makeindex,\
repstopdf,\

% we'd like to allow:
% dvips - but external commands can be executed, need at least -R1.
% epspdf, ps2pdf, pstopdf - need to respect openout_any,
%   and gs -dSAFER must be used and check for shell injection with filenames.
% (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
%   without Unix convert it hardly seems worth it, and Windows convert
%   is something completely different that destroys filesystems, so skip.
% pygmentize - but is the filter feature insecure?
% ps4pdf - but it calls an unrestricted latex.
% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
% texindy,xindy - but is the module feature insecure?
% ulqda - but requires optional SHA1.pm, so why bother.
% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.

% plain TeX should remain unenhanced.
shell_escape.tex = f
shell_escape.initex = f

% This is used by the Windows script wrapper for restricting searching
% for the purportedly safe shell_escape_commands above to system
% directories.
TEXMF_RESTRICTED_SCRIPTS = \
  {!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//

% Allow TeX \openin, \openout, or \input on filenames starting with `.'
% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
% a (any)        : any file can be opened.
% r (restricted) : disallow opening "dotfiles".
% p (paranoid)   : as `r' and disallow going to parent directories, and
%                  restrict absolute paths to be under $TEXMFOUTPUT.
openout_any = p
openin_any = a

% Write .log/.dvi/etc. files here, if the current directory is unwritable.
%TEXMFOUTPUT = /tmp

% If a dynamic file creation fails, log the command to this file, in
% either the current directory or TEXMFOUTPUT.  Set to the
% empty string or  0  to avoid logging.
MISSFONT_LOG = missfont.log

% Set to a colon-separated list of words specifying warnings to suppress.
% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
% TEX_HUSH = checksum:lostchar:readable:special
% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
TEX_HUSH = none

% Allow TeX, and MF to parse the first line of an input file for
% the %&format construct.
parse_first_line = t

% But don't parse the first line if invoked as "tex", since we want that
% to remain Knuth-compatible.  The src_specials and
% file_line_error_style settings, as well as the options -enctex,
% -mltex, -8bit, etc., also affect this, but they are all off by default.
parse_first_line.tex = f
parse_first_line.initex = f

% Control file:line:error style messages.
file_line_error_style = f

% Enable the mktex... scripts by default?  These must be set to 0 or 1.
% Particular programs can and do override these settings, for example
% dvips's -M option.  Your first chance to specify whether the scripts
% are invoked by default is at configure time.
%
% These values are ignored if the script names are changed; e.g., if you
% set DVIPSMAKEPK to `foo', what counts is the value of the environment
% variable/config value `FOO', not the `MKTEXPK' value.
%
%MKTEXTEX = 0
%MKTEXPK = 0
%MKTEXMF = 0
%MKTEXTFM = 0
%MKTEXFMT = 0
%MKOCP = 0
%MKOFM = 0

% Used by makempx to run TeX.  We use "etex" because MetaPost is
% expecting DVI, and not "tex" because we want first line parsing.
TEX = etex

% These variables specify the external program called for the
% interactive `e' option.  %d is replaced by the line number and %s by
% the current filename.  The default is specified at compile-time, and
% we let that stay in place since different platforms like different values.
%TEXEDIT = vi +%d '%s'                    % default for Unix
%TEXEDIT = texworks --position=+%d "%s"   % default for Windows
%MFEDIT = ${TEXEDIT}
%MPEDIT = ${TEXEDIT}

% The default `codepage and sort order' file for BibTeX8, when none is
% given as command line option or environment variable.
BIBTEX_CSFILE = 88591lat.csf

% This variable is specific to Windows.  It must be set to 0 or 1.  The
% default is 0.  Setting it to 1 tells the Windows script wrappers to
% use an already installed Perl interpreter if one is found on the
% search path, in preference to the Perl shipped with TeX Live.  Thus,
% it may be useful if you both (a) installed a full Perl distribution
% for general use, and (b) need to run Perl programs from TL that use
% additional modules we don't provide.  The TL Perl does provide all the
% standard Perl modules.
%
%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0


%  Part 3: Array and other sizes for TeX (and Metafont).
%
% If you want to change some of these sizes only for a certain TeX
% variant, the usual dot notation works, e.g.,
% main_memory.hugetex = 20000000
%
% If a change here appears to be ignored, try redumping the format file.

% Memory. Must be less than 8,000,000 total.
%
% main_memory is relevant only to initex, extra_mem_* only to non-ini.
% Thus, have to redump the .fmt file after changing main_memory; to add
% to existing fmt files, increase extra_mem_*.  (To get an idea of how
% much, try \tracingstats=2 in your TeX source file;
% web2c/tests/memtest.tex might also be interesting.)
%
% To increase space for boxes (as might be needed by, e.g., PiCTeX),
% increase extra_mem_bot.
%
% For some xy-pic samples, you may need as much as 700000 words of memory.
% For the vast majority of documents, 60000 or less will do.
%
main_memory = 3000000 % words of inimemory available; also applies to inimf&mp
extra_mem_top = 0     % extra high memory for chars, tokens, etc.
extra_mem_bot = 0     % extra low memory for boxes, glue, breakpoints, etc.

% ConTeXt needs lots of memory.
extra_mem_top.context = 2000000
extra_mem_bot.context = 4000000

% Words of font info for TeX (total size of all TFM files, approximately).
% Must be >= 20000 and <= 147483647 (without tex.ch changes).
font_mem_size = 3000000

% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
font_max = 9000

% Extra space for the hash table of control sequences.
hash_extra = 200000

% Max number of characters in all strings, including all error messages,
% help texts, font names, control sequences.  These values apply to TeX.
pool_size = 3250000
% Minimum pool space after TeX's own strings; must be at least
% 25000 less than pool_size, but doesn't need to be nearly that large.
string_vacancies = 90000
% Maximum number of strings.
max_strings = 500000
% min pool space left after loading .fmt
pool_free = 47500

% Buffer size.  TeX uses the buffer to contain input lines, but macro
% expansion works by writing material into the buffer and reparsing the
% line.  As a consequence, certain constructs require the buffer to be
% very large, even though most documents can be handled with a small value.
buf_size = 200000

% Hyphenation trie.  The maximum possible is 4194303 (ssup_trie_size in
% the sources), but we don't need that much.  The value here suffices
% for all known free hyphenation patterns to be loaded simultaneously
% (as TeX Live does).
%
trie_size = 1000000

hyph_size = 8191        % prime number of hyphenation exceptions, >610, <32767.
                        % http://primes.utm.edu/curios/page.php/8191.html
nest_size = 500         % simultaneous semantic levels (e.g., groups)
max_in_open = 15        % simultaneous input files and error insertions, 
                        % also applies to MetaPost
param_size = 10000      % simultaneous macro parameters, also applies to MP
save_size = 50000       % for saving values outside current group
stack_size = 5000       % simultaneous input sources

% These are Omega-specific.
ocp_buf_size = 500000   % character buffers for ocp filters.
ocp_stack_size = 10000  % stacks for ocp computations.
ocp_list_size = 1000    % control for multiple ocps.

% These work best if they are the same as the I/O buffer size, but it
% doesn't matter much.  Must be a multiple of 8.
dvi_buf_size = 16384 % TeX
gf_buf_size = 16384  % MF

% It's probably inadvisable to change these. At any rate, we must have:
% 45 < error_line      < 255;
% 30 < half_error_line < error_line - 15;
% 60 <= max_print_line;
% These apply to TeX, Metafont, and MetaPost.
error_line = 79
half_error_line = 50
max_print_line = 79

% Metafont only.
screen_width.mf = 1664
screen_depth.mf = 1200

% BibTeX only (max_strings also determines hash_size and hash_prime).
ent_str_size =  250
glob_str_size = 5000
max_strings.bibtex = 35307
max_strings.bibtex8 = 35307
max_strings.bibtexu = 35307
max_strings.pbibtex = 35307

% GFtype only.
line_length.gftype = 500
max_rows.gftype = 8191
max_cols.gftype = 8191