我有以下管道来创建和渲染一个极大的真值表:1)请求逻辑公式 2)写入 LaTeX 源 3)渲染 LaTeX 和 4)转换为图像。
该公式由 16 个变量组成,因此表格大小为 514 x 514(包括边框单元格),并将单元格颜色分别标记到公式中。但是,LaTeX 无法渲染这么大的表格。遗憾的是,增加内存大小是不可能的。
TeX capacity exceeded, sorry [main memory size=5000000].
所以问题变成了:如何使用 LaTeX 生成一个表格,这个表格很大,但理论上几乎没有单元格内容?是否存在某种“惰性”渲染?
答案1
在具有 1cm 边框的普通 A4 页面上,您可以使用 \footnotesize 和 1pt 的小 \tabcolsep 放置大约 90 个单元格,每个单元格中只有一个 1。这意味着,对于 514 个单元格,您需要一米以上的纸张宽度。
如此巨大的表格会使 pdftex 内存溢出,但使用 lualatex 可以正常工作:
\documentclass{article}
\usepackage[margin=1cm,showframe,paperwidth=115cm,paperheight=180cm]{geometry}
\begin{document}
\ExplSyntaxOn
\footnotesize \tabcolsep=1pt
\noindent
\begin{tabular}{*{514}{l}}
\prg_replicate:nn{514}{\prg_replicate:nn{513}{1&} 1\\}
\end{tabular}
\ExplSyntaxOff
\end{document}
我只能展示一小部分:
我会重新考虑这个设计。