У меня есть латексный макрос, который делает маленькие картинки. На этой картинке мне нужно нарисовать область. Границы этой области представляют собой квадратные кривые Безье, и эта область должна быть заполнена. Я не знал, как это сделать, поэтому сейчас я «заполняю» область, рисуя внутри нее множество кривых Безье ...
Это замедляет набор текста, и когда макрос используется несколько раз (т. Е. Tex рисует очень много квадратичных кривых Безье), он выдает следующую ошибку:
! TeX capacity exceeded, sorry [main memory size=3000000].
Как я могу предотвратить эту ошибку? (освобождая память после макроса или чего-то подобного ...) Или еще лучше, как мне заполнить область, определенную двумя квадратичными кривыми Безье?
Код, выдающий ошибку:
\usepackage{forloop}
\usepackage{picture}
\usepackage{eepic}
...
\linethickness{\lineThickness\unitlength}%
\forloop[\lineThickness]{cy}{\cymin}{\value{cy} < \cymax}{%
\qbezier(\ax, \ay)(\cx, \value{cy})(\bx, \by)%
}%
Вот несколько примеров значений для переменных:
\setlength{\unitlength}{0.01pt}
\lineThickness=20
%cy is just a counter - inital value is not important
\cymin=450 \cymax=900
%from following only the difference between \ax and \bx is important
\ax=0 \ay=0 \bx=550 \by=0
Примечание. Чтобы воспроизвести ошибку, этот код должен быть выполнен примерно 150 раз (может быть больше в зависимости от настроек памяти латекса).
Большое спасибо за любую помощь