понедельник, 12 мая 2008 г.

О богато иллюстрированной статье.

Кто писал статьи для научных журналов знает, что во многих редакциях требуют, чтобы все иллюстрации были собраны в конце.

У меня получилось страниц 25 текста и штук 30 иллюстраций. Делаю pdf. Время компиляции в pdflatex-jv такое, что заснуть можно ожидаючи. Плюс ещё такая неприятность: если много окружений figure идёт подряд, то возникает ошибка too many unprocessed floats. Бороться с ней можно вставляя после картинок \pagebreak (по правилам и так картинки должны быть каждая на своей странице) и хотя бы несколько строчек текста. Понятно, что он совершенно лишний, но без него ничего не получается.

Напрашивается естественное решение - сделать отдельно файл с текстом и файлы с картинками. В одном файле все картинки уместить не удастся из-за упомянутой ошибки.

Хорошо. А что делать со ссылками на картинки в тексте? И как сделать, чтоб во втором файле нумерация картинок начиналась не с 1, а с n+1, где n - число картинок в первом файле?

Делаем так. В основной текст, в самом конце вставляем (\input) .tex файл с пустыми figure. в которых сделан label с теми именами, которые уже вставлены в ссылки в тексте.
Здесь опять может возникнуть ошибка с float, но мы её поборем упомянутыми средствами - потом выкинем странци с белибердой из pdf.
Обязательно наличие caption перед label (!!!!!) иначе в тексте все ссылки будут иметь один номер (у меня почему-то 8). Всё, теперь в тексте будут ссылки типа "на рис.21 мы видим бифуркацию".

Текст и картинки компилируем в отдельные pdf. Во втором файле с картинками надо сделать нумерацию с номера n+1. Для этого инициализруем соответсвующий счётчик:
\setcounter{figure}{n}.
Именно n, а не n+1!

Теперь в игру вступает замечательная софтина PDFTools, которая умеет сливать pdf и выкидывать из них страницы (и ещё много чего). Выкидываем последние страницы из файла с текстом, затем сливаем всё в один итоговый pdf.

Теперь надо выкинуть последние несколько страниц

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