четверг, 7 апреля 2011 г.

LongTable and Caption

Все мы знаем, что несчастный ГОСТ требует оформление таблиц по виду:

Обычно используя всем хорошо известный файл dissert.cls можно добиться такого результата в таблицах обычного типа. Но что делать, когда нужна длинная таблица на несколько страниц? Искользуя пакет logntable мы обретаем счастье только по одному признаку - длинная таблица. Caption в этом случае абсолютно стандартный.

Пришло время в этом разобраться. Проблема в том, что caption для стилевого файла longtable собственный и задаётся он собственным макаром.

Для того, чтобы сделать его такого вида, как было указано ранее вам необходимо:
  1. Найти файл longtable.sty, который лежит в /usr/share/texmf-texlive/tex/latex/tools
  2. Скопировать его в папку с компилируемым теховским файлом.
  3. Открыть его
Далее исполняем мои нехитрые инструкции, а именно:
  1. Находим поиском в каше файла строки
    \def\LT@makecaption#1#2#3{%
    \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
    \sbox\@tempboxa{#1{#2: }#3}%
    \ifdim\wd\@tempboxa>\hsize
    #1{#2: }#3%
    \else
    \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
    \fi
    \endgraf\vskip\baselineskip}%
    \hss}}}

  2. Заменяем всю эту лабуду на следующее:
    \def\LT@makecaption#1#2#3{%
    \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
    \sbox\@tempboxa{#1{#2: }#3}%
    \hfill \normalfont #1#2 \par \centering #3 \par
    \endgraf\vskip\belowcaptionskip}%
    \hss}}}
  3. Далее отыскиваем переменную \LTcapwidth в начале файла и присваиваем ей вместо стандартной лабуды: \LTcapwidth=\textwidth
  4. Сохраняем файл и радуемся при компиляции!
Вот так всё просто!

Комментариев нет:

Отправить комментарий