Верстка сборника тезисов конференции в LaTeX

    В конце прошлого года в Ракетно-Космической Корпорации "Энергия" прошла конференция молодых ученых и специалистов. Автор этой статьи входил в состав секретариата, в частности выполнял функцию верстки сборника тезисов. Описание возникших проблем и путей их решения под катом.


    К сожалению, система верстки LaTeX не распространена (по моей статистике) среди инженеров. Вместо использования команд форматирования высококлассные специалисты применяют, как метко выразился один профессор МГТУ им. Баумана, навязанный юристами и бухгалтерами редактор (конечно, речь об MS Word). Да, несомненно, при верстке некоторых объектов встречаются технические сложности, заставляющие потратить несколько часов на поиски элегантного решения, но эти затраты нивелируются, если в написании документа участвует группа людей, или если необходимо строго придерживаться определенного шаблона оформления. Про набор, верстку и внешний вид формул молчу.


    Еще на этапе подготовки к конференции возникла мысль дать возможность авторам присылать тезисы, сверстанные в LaTeX (как вы уже поняли, ваш покорный слуга является ее ярым поклонником), для чего был разработан стилевой класс и шаблон документа.


    Изначально я не предполагал верстать все тезисы при помощи LaTeX'а: планировалось, что секретари конференции пришлют уже подготовленные части сборника тезисов, каждый по своей тематической секции, а я должен быть их подчистить в плане форматирования, объединить в отдельный документ и преобразовать в PDF. Однако, мои глаза не смогли спокойно смотреть на присланный материал, к тому же в тот момент по основной работе было не слишком много текучки, что позволило потратить время на верстку тезисов в LaTeX'е.


    Итак, мой рабочий цикл выглядел следующим образом:


    1) Копирую текст из Word'а в VIm;
    2) При помощи регулярного выражения добавляю переносы строк после каждой точки (мне так нравится), добавляю дополнительные переносы строк в окончания абзацев;
    3) При помощи регулярного выражения оформляю заголовок доклада и информацию об авторах;
    4) Оформляю список литературы в виде списка LaTeX;
    5) Преобразую в PNG и вставляю картинки, набираю формулы.


    Всего в сборнике тезисов было почти четыре сотни работ. Необходимо отметить, что десяток работ из них были сверстаны в LaTeX'е.


    В процессе верстки подключил к VIm'у плагин latexsuite — он позволил мне сэкономить немного времени.


    Что получилось автоматизировать (в основном, регулярными выражениями):


    • поиск и экранирование спецсимволов LaTeX;
    • добавление команд форматирования к заголовкам, информации об авторах и заголовку списка литературы;
    • оформление ФИО авторов в виде Иванов~И.~И., а не Иванов И. и не И.И. Иванов.
    • разбиение на строки длиной менее 80 символов;
    • подсчет количества работ, в том числе по категориям.

    Что не получилось (не хватило терпения/желания) автоматизировать:


    • преобразование различных юникодных символов в команды LaTeX'а: кавычек в <<>>, тире в "---, креста в \times и т.д.;
    • добавление символа ~ между числом и единицей измерения;
    • форматирование единиц измерения, в основном ^2, ^3 и градусов Цельсия;
    • форматирование нумерованных и маркированных списков;
    • переоформление элементов списка литературы примерно в соответствии с ГОСТ.

    Что невероятно поразило — некоторые авторы кладут в DOC-файл рисунок большого размера (например, скриншот разрешением 1920x1280), а затем средствами текстового редактора кадрируют его, вырезая чертеж или окно (например, размером 400x300 пикселей). Переоформление такого рода рисунков заняло довольно много времени и потребовало определенной аккуратности.


    Кроме таких рисунков, много времени съело преобразование рисунков, нарисованных средствами Word, в растровую картинку. Приходилось рендерить DOC-файл в PDF-формат при помощи CutePDF, а затем вырезать изображение из нужной странички PDF-документа. Правда, в отдельных случаях удалось оперативно получить от авторов рисунки в виде отдельных файлов.


    И, конечно, отдельное удовольствие доставил повторный набор формул, изначально представленных в DOC-файле, в командах LaTeX'а.


    Оформление сборника тезисов, имеющего суммарный объем побольше 700 страниц, содержащего тезисы почти 400 работ, заняло порядка 60 рабочих часов. На мой взгляд, выполнение аналогичных задач в MS Word, а именно: переформатирование в единый стиль, единообразная запись информации об авторах, приведение к единообразию кавычек и тире, вставка неразрывных пробелов вместо обычных, потребовало бы не меньшего времени. По крайней мере у меня.


    Полученный документ радует красивыми шрифтами и единообразным оформлением.


    p00


    p01


    p01


    И напоследок космическая картинка...


    image

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 40
    • +2

      Пришлось мне как-то этим заниматься. Вот эта книжица политая моим потом и кровью. В одиночку. Еще я сделал и админил "от и до" вебсайт для ревьюверов (их было 400+), которые отработали с 1300+ поданных на конференцию работ, но это уже другая история.


      В общем, снимаю шляпу и не завидую. Но чтоб самому не сойти с ума нужно начинать работать раньше, а именно — выработать разумные четкие требования к оформлению принятых к публикации материалов и без сожаления заворачивать тех, кто не оформил.


      Самое легкое — просить пдф указанного качества (поля, шрифты и т.п.). Заморочнее — предоставить шаблоны для того же TeX'a и/или Ворда.

      • 0
        Зачем просить pdf?

        Самый простой вариант — забирать информацию в раздельных файлах — отдельно текст, сверстанный по минимальному своду правил (дополнительный перенос для разделения абзацев, переносы предложений, никаких табуляций), изображения в виде png/eps отдельно. Как давать ссылки на литературу, вставлять картинки и формулы можно пояснить отдельным небольшим примером. Мотивации у авторов предостаточно — потрать час на форматирование своего текста — получишь результат публикацию.

        Переделав за всеми раз, наверняка придется повторить такой подвиг снова.
      • 0
        Ох, статья прямо бальзам на душу. Есть всё-таки у нас в стране энтузиасты, которые внедряют тэх в массы.
        К слову, хочу сказать, что дела с тэхом в столицах, на мой взгляд не так плохи. На переферии же засилие ворда до сих пор переходит всякие границы и ситуация никак не желает сдвигаться. Моё личное мнение — заставлять писать тексты насыщенные математикой в ворде форменное издевательство над человеком. Правила эти придумывают те, кто не собирается их выполнять. Вот лично для меня проще сверстать всё в латэхе, а потом с помощью GrindEQ перегнать в ворд, с последующей корректировкой. Главная фишка тулзы — она перегоняет формулы из тэха в совершенно нормально редактируемый equation 3.0. Последнее время подумываю продать душу дьяволу и купить её (пока пользуюсь триалами), настолько она бывает необходима
        • 0
          Печально, но факт — даже в околонаучной среде (те же журналы по дидактике математики) статью из LaTeX приходится перед публикацией переводить в «общепринятый» DOC (Times New Roman, 11pt…). Формулы, к слову, страдают не так сильно как векторная графика, которую хотят видеть в JPEG или PNG.

          тэх в массы […] дела с тэхом в столицах […] сверстать всё в латэхе
          Исключительно из любопытства — вы TeX принципиально как «тэх» произносите?
          • +1
            вы TeX принципиально как «тэх» произносите

            Как учил Дональд Кнут
        • +1
          Ещё одно мое мнение — MS Office не нужен. Вообще. И кстати, последние его версии поддерживают ODF, используемый в OO и LO. Я понимаю, что служебную записку из нескольких строчек глупо писать на латэхе, но для этого вполне сгодится LO. Для насыщенных математикой научных текстов — латэх.

          Единственное, что держит на вордоигле — наличие огромного массива старых документов в нем подготовленных, которые портятся часто при открытии в альтернативных пакетах. Но, момент отказаться от майкрософт офиса настал уже давно, и чем раньше это сделать, тем быстрее старые документы выйдут из оборота.

          MS Office не нужен Вам. Задумайтесь, те, кто до сих пор не мыслит своей работы без него
          • +3

            Я согласен, что офис не нужен, но в сравнении латекса и ворда:


            Ворд — setup.exe -> -> -> серийник -> -> word ->пишем
            Латекс -> найти конкретную сборку -> setup.exe -> wtf -> wtf -> wtf -> мучения в выборе удобного редактора -> пытаемся понять -> пишем -> пытаемся понять -> рендерим -> материмся на шрифты -> правим -> рендерим


            Вордоигла — потому что с ним просто начать, а дальше уже пофиг, плакать будет в основном не пользователь, а тот, кто работает с кучей разношерстных документов.


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


            С латексом сложно начать, уже три раза пытался начать работать с латексом, как-то оно не особо получается. Авторы курсов/книг ударяются в малополезные детали, еще не встречал чего-то уровня методички на 20 страниц, где всё просто и легко, рекомендованы конкретные быстрые решения, чтобы просто взять и легко настроить базовый шаблон, а потом начать писать. Бывает еще замшелая книга, которой все восторгаются, но половина подходов уже настолько устарела, что даже найти упоминаемые дистрибутивы несколько проблемно.


            А бывают книги, где сводится к куче не объясняемых телодвижений по сборке шаблонов, плагинов и прочего, в итоге собрал звездолёт, но не понимаешь — почему он вверх летит и как поворачивать.


            Сил и времени, чтобы глубоко зарыться и полностью всё осознать не особо много.


            Да, привет из Екатеринбурга — сайт библиотеки УрФУ позволяет скачивать сведения о книге в формате bibtex, так что регионы потихоньку подтягиваются.

            • 0
              привет из Екатеринбурга

              Вас сложно назвать переферией, всё таки у вас двухмиллионный город с сильной наукой. В свое время имел честь общаться с вашими учеными по линии Всероссийских олимпиад по теоретической механике.

              В нашем регионе мехмат ЮФУ тоже не брезгует тэхом, я из-за этого собственно его изучать и стал, так как они в свои сборники иначе статьи не принимают. Но в целом по вузам не имеющим статус федеральных ситуация плечевна
              • 0
                Для старта можно поиграться на www.sharelatex.com или www.overleaf.com

                Англоязычный tex.stackexchange.com — самое доброжелательное интернет-сообщество, которое я когда-либо встречал.
                • +1
                  >> Латекс -> найти конкретную сборку -> setup.exe -> wtf -> wtf -> wtf -> мучения в выборе удобного редактора -> пытаемся понять -> пишем -> пытаемся понять -> рендерим -> материмся на шрифты -> правим ->

                  Ужас какой-то. TexStudio не пробовали? От тех, кто вынужденно переходил в тех с нуля слышал о нем только приятное, что мол даже работать можно. Судя по описаниям — проще чем TexnicCenter (с которым работал лично) — хотя там все тоже работает из коробки и ОК.

                  Хотя лично мне для практических нужд Тех убог. В ворде я могу влепить в документ эксельный график со всей рассчетной таблицей, данными, формулами и зависимостями, при необходимости поднять эту таблицу проверить данные, поменять что-то. В Техе я такого как-то не помню, не про это он.
                  • 0
                    Есть еще основанный на LaTeX редактор LyX, очень интересная штука, но не помогающая преобразовывать готовые материалы из DOC в TeX.

                    Что касается графиков — есть возможность встроить в TeX графики, построенные при помощи Gnuplot, что обеспечивает сходный с описанным функционал. Так же как и Word, TeX не совсем про графики.
                    • 0
                      Так же как и Word, TeX не совсем про графики.
                      А «о чём же» тогда pgfplots, TikZ и иже с ними?
                      • 0
                        ИМХО, импорт изображений, рисование и построение графиков — лишь одна из многих функций TeX. При этом результат верстки текста, набора формул в TeX'е выглядит профессионально, а построенные графики — не всегда. Результат работы, например, gnuplot на мой взгляд значительно симпатичнее чем у pgfplots, хотя, повторюсь, это мое ИМХО, а может быть у меня руки кривые в плане pgfplots.
                      • 0
                        Неплохой вариант на самом деле. При условии что работает с документом в основном его создатель. Если надо переслать / поделиться то придется писать длинное ридми как заставить это компиляться, сделать однообразное окружение у всех пользователей документа. То есть много дополнительных действий.
                      • 0

                        За студию спасибо, хотя бы сразу не ужаснула, буду пробовать.

                    • 0
                      Это всё конечно прекрасно, но… Многие российские журналы требуют статьи именно в DOC и не берут латех. Ну и всякие формы того же Фонда фундаментальных исследований, разные отчёты, акты — там часто так накручено оформление, как наследие старых версий, что в ОО нормально не открывается.
                      Последний раз я пару лет назад пытался в ОО заполнить заявку на грант. Оформление на вид осталось тем же, но оказалось, что у них в фонде эти файлы обрабатываются какой-то своей прогой. В общем, пришлось переделывать именно в Ворде, так как эта прога не смогла обработать DOC, пересохранённый ОО
                      • 0
                        Это всё конечно прекрасно, но… Многие российские журналы требуют статьи именно в DOC

                        потому что ломать эту ситуацию никто не стремится
                        • 0
                          многие российские журналы требуют статьи именно в DOC и не берут латех
                          Не только российские. Увы.
                          • 0
                            А вот там всё интереснее. Те же Elsevier раньше требовали именно в тех, а теперь уже нормально берут и DOC и прочие ODF
                        • +1
                          Latex, в первую очередь, профессиональный инструмент, и не является пилюлей от всех проблем текстовых редакторов. Даже курсовую на 50+ таблиц, рисунков, источников, можно нормально (и не фокусируясь на работе с latex'ом) сверстать в word, благо там есть автонумерация (ну такая себе) и работа с источниками (вот тут все хорошо, если подключить стили).
                          Может на заре развития текстовых редакторов идеология latex'а (пиши, а программа сверстает) была преимуществом, но текстовые редакторы не стоят на месте, и нужно внимательно изучить что предлагают в обоих лагерях.
                          • 0
                            Для решения одной и той же проблемы существует множество путей. Однако среди моих знакомых меньше людей, которые пользуются шаблонами MS Word, чем LaTeX'ом. Грандиозное большинство использует офисный редактор как печатную машинку, никаких стилей, автонумерации, автоматических списков литературы…
                            Мне кажется, что если человек способен формализовать и осмыслить эти понятия в своей голове, то он скорее будет пользоваться техом, чем шаблонами ворда.
                          • +1
                            Вы просто не представляете какие документы в Word пишут обычные офисные сотрудники.
                            Уже не говорю про макросы, которые, например нашей службе экономят огромное количество времени. И вообще VBA макросы, ИМХО, главное конкурентное преимущество Office, посмотрите хотя-бы https://github.com/wyfinger/Raschet_DZSH
                            Как-то я проверял, Excel единственный худо-бедно работает на файлах ~100 Mb c 4-5 листами по ~200 тыс. записей на каждом. Ни LO, ни тем более OnlyOffice не справляются.

                            Latex хорош для подготовки публикаций, но это не единственный вектор использования офисных пакетов.
                            Про Latex, скажите хоть кто-нибудь как сделать в вложенный список? в ненумерованный список добавить нумерованный (русские символы: а), б) ...). Верстаю книжку (https://www.sharelatex.com/project/58ab878dbf3be6ae4fe684e4), даже не знаю где спрашивать.
                            • 0
                              Я убежден, что в приличной фирме должен быть сотрудник по разработке шаблонов LaTeX, который будет упрощать жизнь обычным писателям текстов, позволяя им работать, используя пару-тройку десятков команд.

                              По редактированию — использовать пакет enumitem и счетчики \asbuk
                              • 0
                                даже не знаю где спрашивать
                                Здесь?
                                • 0
                                  >> И вообще VBA макросы, ИМХО, главное конкурентное преимущество Office,
                                  Еще интеграция с прочим. Например с САПР где в эксельных таблицах могут храниться размеры элементов из которых генерятся детали. Или инструменты менедмента данных типа Autodesk Vault — он помимо чертежей прекрасно интегрирауется с оффисом через адд-он и позволяет добавлять в проекты всякие текстовые документы, инструкции и ты ды.
                              • 0
                                Для LibreOffice есть аддон, который позволяет сохранять документ в формат tex. Не пробовали?
                                • +1
                                  Этот аддон преобразует формулы MS Equation? Оставляет после себя лишние команды форматирования? Преобразует картинки в подходящий формат и кадрирует их?
                                  • +1
                                    На эти и множество других вопросов я сам как раз рассчитывал получить ответ ;)
                                    Как раз проверил из интереса (давно хотел) — результат вполне достойный, хотя руками потом еще пилить и пилить. Из явных минусов:
                                    1) сохранил векторные картинки в неудобоваримом формате .svm, его руками надо преобразовывать в eps/pdf (но это на мой взгляд лучше, чем сохранять их в растр скриншотами);
                                    2) Подписи к таблицам/рисункам не связаны с самими объектами, а сделаны просто счетчиками. Но я всегда подозревал что в офисах они именно так жопно и реализованы. Хотя это не точно. Встроенный стиль подписи (Illustration) он преобразовал верно в отличии от моего самодельного;
                                    3) что-то не так с вертикальным объединением ячеек в таблицах
                                    4) ни слова не сказав напрочь потерял (даже комментариев не вставил) цветовое выделение фона текста. Я понимаю, что на бумагу так не печатают, но вот в электронном документе оно мне было очень полезно
                                    5) Какая-то смешная проблема со стилями — внутри каждой новой секции первый параграф без красной строки

                                    PS Простенькую 2-этажную формулу вполне корректно представил в теховской нотации. Но это из редактора OO. Как там в MS Equation — фиг знает.
                                    • 0
                                      5) Какая-то смешная проблема со стилями — внутри каждой новой секции первый параграф без красной строки


                                      Ну это не проблема со стилями, а «так задумано». Таков нерусский стандарт, с которым я (вопреки российским правилам) согласен: функция абзацного отступа в том, чтобы два абзаца случайно не выглядели как один. В начале секции это не нужно.

                                      Но можно это решить через
                                      \usepackage{indentfirst}
                                      или
                                      \usepackage{polyglossia}
                                      \setmainlanguage{russian}
                                      \PolyglossiaSetup{russian}{indentfirst=false}
                                      
                                • +1
                                  Подобную задачу я осуществлял по такой траектории:
                                  soffice: doc/docx --> odt
                                  writer2latex: odt --> tex

                                  Получилось вот что.
                                  • 0
                                    Прочитал комментарии и с удивлением не обнаружил ни слова про преобразование Word’овских картинок в растровые. Ведь можно было сделать скриншот или воспользоваться утилитой Ножницы. Странно, что автор так не поступал.

                                    В остальном статья очень полезная. По моему опыту LaTeX используют очень мало даже в университетской среде.
                                    • 0
                                      Спасибо!

                                      Я преобразовывал страничку DOC-файла в PDF при помощи CutePDF, а затем вырезал из нее. Если делать скриншот, получается на мой взгляд неприемлемо низкое разрешение.
                                    • 0
                                      TeX — это монстр, гениально написаный гениальным Кнутом.

                                      Это не более чем еще один язык описания задачи, ЯП, со своими библиотеками (стилями), ресурсами (шрифтами), коммюнити и т.п. Да, имеет свои заморочки. Но по причине своих непревзойденных другими приложениями полезных качеств, похоже, останется с нами на века.
                                      Просто будет сидеть где-нибудь «под капотом» в более попсовых системах, типа всех MarkDown и таким образом прийдет к миллионам и миллиардам пользователей.

                                      Это монстр из той же «линейки», куда входят C, FORTRAN, LISP, SAS.
                                      Заставлять офисный крысок верстать в ТеХе не нужно, и по-видимому, не будет нужно никогда.

                                      Например в R коммюнити было много попыток подружить R с TeXом посредством соответствубщих библиотек. С появлением Rmd (R MarkDown) — одна из фич Rstudio — я стал этим пользоваться практически ежедневно.

                                      Показать его будущим математикам Дать мнимальные основы будущим инженерам — это «the must».
                                      • +2
                                        Знаете, я даже специально зарегистрировался, чтобы вам написать. Вы в следующий раз обратитесь к профессионалам, а не сами… просто вот на вашем же примере у вас яркий такой висяк: «но a
                                        Любой нормальный редактор вам это отметит красной ручкой сразу, не задумываясь.
                                        Далее, там где формула с корнем в строке, межстрочник слишком мал, и горизонталь корня почти наехала на свисающую ниже базовой линии часть буквы «у».
                                        Я тут маленько вам пообводил, что ни один нормальный редактор не пропустил бы. Ещё у вас сильно большие расстояния между омегой с подстрочным индексом и соседними словами (как впрочем и далее с векторной H). Висящая в конце строки «в» (в это корректор должен был ткнуть)… в общем тут только на этой картинке куча ляпов, на которые вам любой профи укажет (лень мне всё обводить).

                                        image

                                        В общем Гиленсон с его «Требования...»-ми наше верстацкое всё.
                                        И ещё совет: посмотреть на научные книги изданные в СССР в 60—70 гг., там тоже можно много увидеть полезного по методикам оформления формул.

                                        PS: Если нужны будут примеры, спрашивайте, я покажу, как верстаются книги любого размера из любых «вордовских исходников».
                                        • 0
                                          Спасибо, но я не предполагаю становиться верстальщиком. Это была так сказать гуманитарная помощь.
                                          Вообще, видели бы Вы исходники… Я ставил перед собой задачу свести все в более или менее адекватный общий документ, а корректура и профессиональная верстка, к сожалению, не входила в бюджет конференции, да и сроки поджимали. Несмотря на обозначенные ляпы, я все же уверен, что со своей задачей справился.
                                          • 0

                                            Вы просто не представляете, насколько этого не хватало! Да, невероятно хотелось бы услышать бы и про системы верстки (и требования к ним), и про бюджетные решения таких задач, и какие где правила можно найти (и насколько они критичны).


                                            Дело ведь в том, что ни айтишники, ни научное сообщество с версткой вообще не пересекаются. Поэтому, скажем, в академических кругах процветают дичайшие мемы про "все издательства, даже художественные работают в техе", "переносы можно самому расставить", "что еще за висячие строки?" и иже с ним. Иногда это даже лечится демонстрацией ценника на InDesign, хотя обычно неизлечимо.

                                            • 0
                                              Несколько лет назад, когда слово ТеХ для гуманитариев звучало ещё страшнее, чем сейчас, тезисы на Ломоносовскую конференцию в МГУ надо было подавать в формате ТеХ через интернет, где они компилировались онлайн. И ничего, сотни не-технарей со всех концов страны как-то справились с задачей.

                                              Вот что получилось: все тезисы в едином формате.
                                              lomonosov-msu.ru/archive/Lomonosov_2011/index_2.htm

                                              Это не тиражные книги, поэтому на висячие строки и прочие нюансы Гиленсона всем вполне обоснованно плевать.
                                              • 0

                                                Спасибо за прекрасный пример того, как переложить проблему с одной больной головы на сто здоровых. Уверен, что биологи и лингвисты оценили этот маразм по достоинству.


                                                Но при чем тут верстка?

                                            • +1
                                              При верстке сборника докладов конференции тиражом 200 экземпляров (да поправит меня StarHunter) обычно не до Гиленсона. Достаточно причесать всё к единому стилю и вгонкой-выгонкой разобраться с висячими строками в конце страниц.

                                              А если уважаемый BigElectricCat расскажет о своём быстроходном велосипеде для вёрстки и кучи вордовых трешфайлов прекрасного кирпича, сообщество, наверное, будет только благодарно.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.