2

The file texmf.cnf contains the bit

% 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

I can't find any other reference to hugetex in my full texlive distribution. Is hugetex just something that's made up? If not, what is it?

  • 1
    That's just by way of example. In the olden times it could be made. – egreg Jun 16 '17 at 19:13
  • Too bad that it can't anymore..... – JPi Jun 16 '17 at 19:13
  • 1
    Why not? You can, if you want. – egreg Jun 16 '17 at 19:14
  • 1
    @Dr.ManuelKuehner : yes, but one would have to first generate hugetex somehow.... – JPi Jun 16 '17 at 19:17
  • 1
    Apparently in MiKTeX 1.11 (1998), hugetex.exe was an alias for tex.exe --mem-max=20000000 (see ndsu.edu/fileadmin/math/Home_Page/Resources/Tex_and_LaTeX/…, probably other versions as well) – Marijn Jun 16 '17 at 19:32
6

In a texmf.cnf file you can find lines such as

TEXINPUTS.pdflatex      = .;$TEXMF/tex/{latex,generic,}//

or

TEXINPUTS.lualatex      = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//

This means that, when a binary is called with the name pdflatex (the binary itself will be pdftex), the variable TEXINPUTS will be set to the stated value; a different value will be used if the binary is called with the name lualatex (and the binary will be luatex).

The binaries are set up so that, if you make a symbolic link to them, they'll use the format according to the name of the symbolic link and the variables as set in texmf.cnf according to the same name or the “non dotted one”.

For instance, there is only

BIBINPUTS = .;$TEXMF/bibtex/bib//

which will be used by all binaries linked to the kpathsea library (it is of course only relevant for bibtex, bibtex8 and bibtexu).

If you want to have a hugetex binary, you need to add memory settings such as

main_memory.hugetex = 20000000

and optionally set other variables such as TEXINPUTS. Then you make a symbolic link to the desired engine, say pdftex or tex, called hugetex and make a format (see the documentation of TeX Live for how to do this).

Where should these settings be added? To the top texmf.cnf, which you find the location of by issuing kpsewhich texmf.cnf. On my system this shows

/usr/local/texlive/2017/texmf.cnf

because this is the first texmf.cnf file read in and later named alike files will not override already set values.

Nowadays this is not very important, because one can add memory almost at will with different methods (see TeX capacity exceeded with glossary package for instance) without the need of a specially tailored engine. In the past, having hugetex could be a life saver for particular applications.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.