Перейти к главному содержимому

LaTeX переменное количество строк и их вывод

Иногда бывает нужно добавлять переменное количество строк, к примеру, в преамбуле. А потом, где-то в недрах документа (или стилей) это все как-то вывести.

Такой пример:

% счетчик количества элементов в массиве
\newcount\My@arrname@cnt
\My@arrname@cnt = 0

% временные счетчики (используются для вывода)
% Могут быть одни на много массивов - уникальность не нужна
\newcount\My@tmpcnta
\newcount\My@tmpcntb

% команда добавить в массив
\newcommand{\MyArrayAddRaw}[1]{%
  \advance \My@arrname@cnt 1
  \@namedef{My@arrname@txt@\number\My@arrname@cnt}{#1}}

% команда на вывод
\newcommand{\OutputArray}{

  % вывод массива
  \My@tmpcnta = 1                   % a = 1
  \My@tmpcntb = \My@arrname@cnt     % b = number of elements
  \advance \My@tmpcntb 1            % b++
  \loop
  \ifnum \My@tmpcnta < \My@tmpcntb  % while (a < b)
    \@nameuse{My@arrname@txt@\number\My@tmpcnta}\par % use Array[a]
    \advance \My@tmpcnta 1          % a++;
  \repeat%

}