Difference between TEX–BigTEX

Now, what is this ominous BigTEX, that has been mentioned before in the manual?

This is practically identical with normal TEX, only some of the elements of internal arrays have been enlarged. Consequently, only some arrays can be made bigger, if this is possible in ``small'' TEX.

These arrays are:

$\displaystyle \vbox$$\displaystyle \halign$# &     # & # &     #     & # &     #     & #$\displaystyle \cr$

& Array & & TEX & & BigTEX & $\displaystyle \cr$
& $\displaystyle \tt memmax/memtop$ & & 65532 & & 524284 & $\displaystyle \cr$ & $\displaystyle \tt maxstrings$ & & 65536 & & $\displaystyle \sl arbitrary$ & $\displaystyle \cr$ & $\displaystyle \tt bufsize$ & & 65536 & & $\displaystyle \sl arbitrary$ & $\displaystyle \cr$

Of course, you have to pay a price for this achieved flexibility. The memory usage increases considerably. Not only because larger arrays can be allocated now, but also because the individual array elements now use more memory. In case of memmax this is about 1.5 times more bytes.

But what do you need such large arrays for?

Really only for a few special cases. The one probably occurring most is the macro package pictex. This creates pictures from only characters. You can imagine that a whole lot of individual characters are gathered like this, until a picture is ready. To be able to work reasonably with this macro package, you need BigTEX. However, to be able to work acceptably with BigTEX, you need at least 3MB of main memory.