Aypac / GDSLatexConverter

Conversion of gdsII files / gdspy libraries to latex (and subsequent svg and pdf)
5 stars 3 forks source link

Latex main memory not sufficient #1

Open Aypac opened 6 years ago

Aypac commented 6 years ago

If using larger designs you might run into the [...] TeX capacity exceeded, sorry [main memory size=xxx]. error.

Quickfix:

Find the latex config file kpsewhich -a texmf.cnf and modify the memory size by including/changing the value of, e.g. : main_memory = 3000000 (see comments in texmf.cnf file for more details.) Then run the following command as root to recreate the format files: fmtutil-sys --all

(Taken from: https://tex.stackexchange.com/questions/7953/how-to-expand-texs-main-memory-size-pgfplots-memory-overload )

Long-Term fix: This can theoretically prevented by rendering each layer individually, using:

\usetikzlibrary{external} 
\tikzexternalize`

and use a separate tikz-environment. I have not solved how to make the layers overlap perfectly then (especially taking into account, that they might have different sizes), but this should be solvable.

Aypac commented 6 years ago

Also take into account, that apparently main_memory must be smaller or equal than 12,435,455 [Source] But you can also set extra-mem-bot and extra-mem-top.

Aypac commented 6 years ago

One more remark: maybe force all PDFs to be the same size (bounding box of all bounding boxes) and then just overlay the pdfs.

The location and naming of the resulting PDFs can be controlled:

\usepgfplotslibrary{external} 
\tikzexternalize[prefix=TikzPictures/]
\tikzsetnextfilename{name_of_resulting_pdf}

[Source]

Aypac commented 6 years ago

Switching to Lulatex (implemented with 427c3d1c6f5689a5541d83d695fe2166cebebd46) could be a solution, since lualatex is requesting memory dynamically. I've not tested this yet.