TeX capacity exceeded with my macros
I have a TeX capacity exceeded message. I think I'm doing too much, but before to try another way I would know if I should enlarge context. This macro is called ~ 70 000 times \SetArtValue{1:330128:1007:336:1:d}{} PS No problem if none answer to this message. ---------------------------------------------------------------------------- \def\SetArtValue#1#2{% \edef\Temp{#1} \beforesplitstring#1\at:\to\Lang\aftersplitstring#1\at:\to\Temp%% \beforesplitstring\Temp\at:\to\Code\aftersplitstring\Temp\at:\to\Temp%% \beforesplitstring\Temp\at:\to\RowLabelId\aftersplitstring\Temp\at:\to\Temp%% \beforesplitstring\Temp\at:\to\RowId\aftersplitstring\Temp\at:\to\Temp%% \doiffirstcharelse{9}{\Code}{}{%else \setgvalue{\Code:\RowId}{{\RowLabelId,#2}} \setxvalue{\Code}{\Code} \@EA\doifinsetelse\@EA{\@EA\RowId\@EA}\@EA{\the\ArticlesRowIdList}{\relax}{\@EA\appendtoks\RowId,\to\ArticlesRowIdList} \setxvalue{Array:\the\Row:\the\SummaryTableCountArticles}{(r=\the\Row,c=\the\SummaryTableCountArticles)}% } } \SetArtValue{1:330128:1007:336:1:d}{} ! TeX capacity exceeded, sorry [hash size=60000]. \setgvalue ...andafter \gdef \csname #1\endcsname <argument> \setgvalue {\Code :\RowId } {{\RowLabelId ,}} \setxvalue {\Code }{... \secondoftwoarguments #1#2->#2 \SetArtValue ...\RowId ,\to \ArticlesRowIdList } } l.21796 \SetArtValue{1:330128:1007:336:1:d}{} %Doleplate\width - mm If you really absolutely need more capacity, you can ask a wizard to enlarge me. Here is how much of TeX's memory you used: 25279 strings out of 62456 270234 string characters out of 659612 4705997 words of memory out of 5746700 60000 multiletter control sequences out of 10000+50000 46713 words of font info for 77 fonts, out of 500000 for 2000 408 hyphenation exceptions out of 1000 47i,15n,56p,343b,556s stack positions out of 3000i,1500n,5000p,200000b,15000s PDF statistics: 2 PDF objects out of 300000 0 named destinations out of 131072 7 words of extra memory for PDF output out of 65536 ! ==> Fatal error occurred, the output PDF file is not finished! My texmf.cnf % ConTeXt is a memory hog... extra_mem_top.context = 2000000 extra_mem_bot.context = 4000000 main_memory.context = 1500000
Luigi, I'm totally ignorant but I know for sure there are some messages on the list on the topic (one thread started by me). Maybe it could be helpful to check the archives? Best -a- On 15 Dec 2006, at 16:55, luigi scarso wrote:
I have a TeX capacity exceeded message. I think I'm doing too much, but before to try another way I would know if I should enlarge context.
This macro is called ~ 70 000 times \SetArtValue{1:330128:1007:336:1:d}{}
PS No problem if none answer to this message.
----------------------------------------------------------------------- ----- \def\SetArtValue#1#2{% \edef\Temp{#1} \beforesplitstring#1\at:\to\Lang\aftersplitstring#1\at:\to\Temp%% \beforesplitstring\Temp\at:\to\Code\aftersplitstring\Temp\at:\to\Temp%% \beforesplitstring\Temp\at:\to\RowLabelId\aftersplitstring\Temp\at: \to\Temp%% \beforesplitstring\Temp\at:\to\RowId\aftersplitstring\Temp\at: \to\Temp%% \doiffirstcharelse{9}{\Code}{}{%else \setgvalue{\Code:\RowId}{{\RowLabelId,#2}} \setxvalue{\Code}{\Code} \@EA\doifinsetelse\@EA{\@EA\RowId\@EA}\@EA{\the\ArticlesRowIdList}{\rel ax}{\@EA\appendtoks\RowId,\to\ArticlesRowIdList} \setxvalue{Array:\the\Row: \the\SummaryTableCountArticles}{(r=\the\Row,c=\the\SummaryTableCountArt icles)}% } }
\SetArtValue{1:330128:1007:336:1:d}{}
! TeX capacity exceeded, sorry [hash size=60000]. \setgvalue ...andafter \gdef \csname #1\endcsname
<argument> \setgvalue {\Code :\RowId } {{\RowLabelId ,}} \setxvalue {\Code }{...
\secondoftwoarguments #1#2->#2
\SetArtValue ...\RowId ,\to \ArticlesRowIdList } }
l.21796 \SetArtValue{1:330128:1007:336:1:d}{} %Doleplate\width - mm If you really absolutely need more capacity, you can ask a wizard to enlarge me.
Here is how much of TeX's memory you used: 25279 strings out of 62456 270234 string characters out of 659612 4705997 words of memory out of 5746700 60000 multiletter control sequences out of 10000+50000 46713 words of font info for 77 fonts, out of 500000 for 2000 408 hyphenation exceptions out of 1000 47i,15n,56p,343b,556s stack positions out of 3000i,1500n,5000p,200000b,15000s PDF statistics: 2 PDF objects out of 300000 0 named destinations out of 131072 7 words of extra memory for PDF output out of 65536 ! ==> Fatal error occurred, the output PDF file is not finished!
My texmf.cnf % ConTeXt is a memory hog... extra_mem_top.context = 2000000 extra_mem_bot.context = 4000000 main_memory.context = 1500000 _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context
Andrea Valle DAMS - Facoltà di Scienze della Formazione Università degli Studi di Torino http://www.semiotiche.it/andrea andrea.valle@unito.it
luigi scarso wrote:
I have a TeX capacity exceeded message. I think I'm doing too much, but before to try another way I would know if I should enlarge context.
This macro is called ~ 70 000 times \SetArtValue{1:330128:1007:336:1:d}{}
PS No problem if none answer to this message.
in texmf.cnf increase the hash size and remake the format Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On 12/15/06, Hans Hagen
luigi scarso wrote:
I have a TeX capacity exceeded message. I think I'm doing too much, but before to try another way I would know if I should enlarge context.
This macro is called ~ 70 000 times \SetArtValue{1:330128:1007:336:1:d}{}
PS No problem if none answer to this message.
in texmf.cnf increase the hash size and remake the format Thanks to Andrea and Hans. I thinks this: 'TeX capacity exceeded' means 'Is your code good ?' Perhaps using some sort of preprocessing or \executesystemcommand should be a better solution (at cost of speed I believe). Or perhaps actual distros are made for single-user not-hungry and not for big-documents on-demand , so hash size is conservative, so "increase the hash size and remake the format" IS the solution.
luigi
participants (3)
-
andrea valle
-
Hans Hagen
-
luigi scarso