LaTeX on small systems: auto-loading 18 June 1995 On some small systems (perhaps most noticeably emTeX for PCs if your machine is unable to use the TeX386 version) LaTeX uses up a large amount of the available memory to TeX, leaving very little to store any further commands, complex text (such as tables), floats or cross references that may occur in a typical document. Note that these limits are built into the TeX executable and do not directly correspond to any physical memory that your machine has installed. In order to help with this problem, we are releasing an *experimental* configuration of LaTeX in which certain functions are not predefined in the format, but are loaded automatically from a style file the first time they are used. This saves a lot of memory in the case that a document does not use these features. In this release two environments are `auto-loaded' in this way: `picture' and `tabbing'. MAKING THE FORMAT ================= Process the file autoload.ins (with plain TeX or LaTeX, not iniTeX). This will produce three files. latexa.ltx source file for the smaller format. autopict.sty package containing the source for picture mode autotabg.sty package containing the source for tabbing environment The `latexa' format should then be made by running iniTeX on the file `latexa.ltx'. To do this, follow the instructions in install.txt (and emtex.txt etc) but replace: `latex.ltx' and `latex.fmt' by `latexa.ltx' and `latexa.fmt'. Finally, `autopict.sty' and `autotabg.sty' should be moved to the directory in which the other LaTeX .sty files have been placed. USING THE FORMAT ================ The resulting format should normally be used in exactly the same way as standard LaTeX. Picture mode can be used without any special commands. Since picture mode is not pre-defined, you will notice TeX loading the `autopict' package the first time you use \begin{picture} (or \thicklines) in a document. This takes some time (and the name of the file being loaded appears on the terminal) but otherwise the behaviour should be just as with standard LaTeX. For instance, processing usrguide.tex (which has a picture on page 23) produces the following terminal output: This is TeX, Version 3.1415 (C version 6.1) (usrguide.tex LaTeX2e (autoload version) <1995/06/01> ) (ltxguide.cls Document Class: ltxguide 1994/12/14 Standard LaTeX class (article.cls Document Class: article 1995/06/05 v1.3d Standard LaTeX document class (size10.clo))) (usrguide.aux) (OMScmr.fd) (usrguide.toc [1]) [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] (autopict.sty) [23] [24] [25] [26] [27] [28] [29] [30] (usrguide.aux) ) (The output may differ on your machine due to different path names for the files.) POSSIBLE PROBLEMS ================= Sometimes you need to redefine a command before it is used. Clearly, if the command is not initially defined, it can not easily be redefined! As a real example, the popular `epic' package redefines some picture mode commands, therefore, to use epic it is neccessary to force picture mode to be loaded by the explicitly putting in your document \usepackage{autopict} before the \usepackage{epic}. If a document containing \usepackage{autopict} is sent to a site using the `full' version of LaTeX (that has picture mode defined in the format) then this \usepackage will be silently ignored and the document will still work correctly. A note to package writers: if your package depends on the picture environment being loaded then you can avoid the user needing to add the extra \usepackage to documents by adding \RequirePackage{autopict} to the beginning of your package file. Similar comments apply to `tabbing' and the `autotabg' package. INTERNAL INTERFACE ================== Most new features added in LaTeX2e that were not in LaTeX2.09 have a consistent interface of commands \WithMixedCase names. If you inspect the implementation of this auto-loading feature you will not find any such interface, but rather an ad hoc collection of low- level TeX commands. This situation may change as more practical experience is gained with the auto-loading feature. In future releases it may be possible to auto-load more parts of LaTeX (so making an even smaller `base' format) and an interface for producing the auto-loaded files may be defined. However, for the user, the nature of the implementation should not matter too much since in the normal case the loading of the file is `invisible' and happens automatically the first time it is needed. --- Copyright 1995 the LaTeX3 project. All rights reserved ---