[comp.text.tex] latex and \input

ascott@gara.une.oz.au (Tony Scott STPG) (01/25/91)

Hi there,
Now I know that \input is esentillay the same as have the inputed text
actually in place in the document. But I am not too sure if there is a
memory penalty or not. In other words say I have a file of several
sections that is 2000 lines long containing a lot of PiCTeX
structures. Would it be better to input each section seperately in
terms of memory or does it make no difference at all. Lets forget
about editing and getting TeX to process the file without errors
 at the moment I am
purely interested to know how TeX manages its memory.

Does TeXs memory get cleared as each page is shipped out?

 I am using TeX 3.0 and have installed the BiG-TeX size as default.
Can it be made even bigger?

It seems that only by putting \clearpages in the document at the
moment will the document process without main memory being filled.

I am using TeX to do a lot of things, drawing structures etc, keeping
track of the numbers and the like so I suppose I am at the edge of
TeXs performance.

Comments to the above will be appreciated either by e-mail or by
posting to the Net.

Thanks in advance.
tony scott.

spqr@ecs.soton.ac.uk (Sebastian Rahtz) (01/26/91)

In article <5291@gara.une.oz.au> ascott@gara.une.oz.au (Tony Scott STPG) writes:

   Does TeXs memory get cleared as each page is shipped out?
it depends which bit of memory...

    I am using TeX 3.0 and have installed the BiG-TeX size as default.
   Can it be made even bigger?
yes

   It seems that only by putting \clearpages in the document at the
   moment will the document process without main memory being filled.
If I read your message aright, you may be getting two sorts of error:

 - too many complicated structures living in memory, such as tables
   and figures, which  are not getting flushed often enough 
 - too many different macros taking up living space, and running TeX
   out of dimen space etc

Other people may give a fuller picture, but you may be interested in
this style option which makes declarations like \newdimen local. So
you can localize the effect of Pictex by saying
 {
 \input prepictex.tex
 \input pictex.tex
 \input pospictex.tex
 %% use PiCTeX
 }
and the (vast) space which PiCTeX uses will be available again.

This was written by someone in the UK whose name I have lost! cringe,
shame, sorry. BE WARNED that it can have side effects, such as losing
the table of contents - I load it in explicity with
 \makeatletter
 \input hackalloc.sty
 \makeatother
well after things like  \tableofcontents

This is *not* an official or guarenteed solution, but used with care
it can make documents which use a lot of different macro packages
useable. It may well not be your problem, mind you.

Sebastian
% -*-LaTeX-*-
% hackalloc.sty: make allocation local for LaTeX.  
% This redefines the allocation primitive so _all_ allocation becomes 
% block-local after this is loaded; no idea what the side-effects of this
% may be.  If it breaks, change \alloc@ to \localloc@, and either redefine
% just what you need to use \alloc@, or define \locnew* for local
% allocation, as in the commented lines.
% NOTE: lying again... this doesn't work for inserts which are still
% global.

%\def\locnewdimen{\localloc@1\dimen\dimendef\insc@unt}
%\def\localloc@#1#2#3#4#5{\advance\count1#1 by 1
\def\alloc@#1#2#3#4#5{\advance\count1#1 by 1
  \ch@ck#1#4#2% Check room
  \allocationnumber=\count1#1
  #3#5=\allocationnumber
  \wlog{Locally \string#5=\string#2\the\allocationnumber}}

--
Sebastian Rahtz                        S.Rahtz@uk.ac.soton.ecs (JANET)
Computer Science                       S.Rahtz@ecs.soton.ac.uk (Bitnet)
Southampton S09 5NH, UK                S.Rahtz@sot-ecs.uucp    (uucp)

babu@applix.com (Babu Tammisetti [ext 362]) (02/06/91)

> From: ascott@gara.une.oz.au (Tony Scott STPG)
> Date: 25 Jan 91 02:14:20 GMT


> Does TeXs memory get cleared as each page is shipped out?
Yes. It does.

> tony scott.
Babu.