Как я диплом в LaTeX писал с GitHub, Docker и TravisCI

    Еще со времен обучения в университете я использовал LaTeX для оформления лабораторных и курсовых работ. Познакомился впервые с LaTeX на Coursera, на курсе "Документы и презентации в LaTeX".


    В этой заметке я расскажу, как я писал диплом с помощью LaTeX и почему я использовал GitHub, Docker и TravisCI.


    Но зачем?


    Предисловие


    Мой путь редактирования и создания документов начался с Microsoft Word, наверное как и у многих. После перехода с Windows на Linux я без труда стал использовать сначала OpenOffice, а потом LibreOffice, который в моих задачах не уступал по функционалу Word.


    Немного больно было, когда написав какой-нибудь реферат в компьютерном зале библиотеки в OpenOffice, несешь его на распечатку на админский компьютер с Microsoft Word, а у тебя слетает все форматирование. В то школьное время мне никто не объяснил того, что можно сохранить документ в PDF и печатать без проблем, это я уже сам узнал, когда учился в университете и нужно было печатать документы чуть ли не каждый день.


    Вернемся к LaTeX, до его использования, все что я слышал о LaTeX, это то, что с его помощью пишут статьи в научные журналы из-за того, что он очень удобен для работы с формулами. Те кто думают так же, рекомендую посмотреть курс на Coursera, возможно он изменит ваше мнение, мне например он очень понравился.


    Hello, World на LaTeX:


    \documentclass{article}
    \begin{document}
    Hello, World!
    \end{document}

    Кстати с помощью LaTeX можно делать и презентации. Вот тут можно посмотреть множество примеров как могут выглядеть эти презентации.


    Бакалаврский диплом с LaTeX


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


    Поначалу я использовал LaTeXila в качестве IDE, в котором сборка проекта осуществлялась одной кнопкой, можно было подключить проверку правописания, но он у меня иногда вылетал и тормозил, поэтому я стал использовать Sublime Text вместе с Makefile.


    Пример Makefile:


    all: build run
    
    build:
        latexmk -xelatex -synctex=1 main.tex
    run:
        xreader main.pdf &
    clean:
        rm *.aux *.fdb_latexmk *.fls *.log *.out *.synctex.gz *.toc

    Все исходники хранил в git, для удобства коллаборации с научным руководителем использовал GitHub. Структура проекта была очень простой, в файл main.tex подключались преамбула и остальные главы, которые хранились в отдельном каталоге.


    main.tex:


    \documentclass[a4paper,14pt]{extarticle} % 14й шрифт
    \input{inc/preamble} % Подключаем преамбулу
    
    \begin{document}
    \tableofcontents % Содержание 
    \clearpage
    
    \input{inc/0-intro} % Введение
    \input{inc/1-pz}    % Постановка задачи
    ...
    \input{inc/0-bibliography} % Библиографический список
    
    \input{inc/a-app} % Приложение А
    \input{inc/b-app} % Приложение Б
    \includepdf{act}  % Подключение стороннего PDF-файла
    \end{document}

    Описание всех стилей и форматирование находится в файле preamble.tex, который подключается в самом начале документа.


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


    Содержание
    Содержание


    Опишу свои плюсы при работе с LaTeX, по сравнению с WYSIWYG-редакторами:


    • удобная версионируемость (вместо диплом.odt, диплом_01.01.2015.odt, диплом_исправл_печать.odt — версионируемость в git и возможность откатиться на любой коммит)
    • при случайном нажатии чего-либо, верстка не слетает (у меня такое бывало)
    • гибкие настройки (которые не всегда доступны в WYSIWYG-редакторах или они неочевидны)
    • гомогенная среда для всего (исходники презентации лежат в том же репозитории, что и диплом)
    • возможность коллаборации (дипломный руководитель может смотреть в репозитории что изменилось со времен последней проверки)
    • удобно использовать как шаблон для множества различных документов
    • удобно включать такие вставки как исходный код например или дополнительные PDF-файлы

    Вот пример того, как легко можно подключить в документ файл с исходным кодом:


    \lstinputlisting[numbers=left]{inc/ddos-deflate/ddos.sh}

    Подключенный исходный код в документ
    Подключенный исходный код в документ


    Минус использования LaTeX для меня только один — нужно потратить время для того, чтобы отполировать все до нужного результата. Я даже на мгновение захотел заморочиться, чтобы перерисовать все диаграммы и схемы нативным способом с помощью TikZ, но это требовало очень много времени, поэтому я спокойно использовал для этого Google Drawings и draw.io.


    Успешно защитив бакалаврский диплом и получив некоторые знания по работе с git, GitHub, Makefile, гуглению по LaTeXStackExchange на английском, я забыл про диплом на пару лет, для того чтобы использовать свой шаблон для написания уже магистерского диплома.


    Магистерский диплом


    В то время когда я обучался в магистратуре, я уже стал увлекаться инструментами инженера, такими как Docker, стал практиковаться с инструментами Continuous Integration, изучать практики DevOps. Также мне было интересно красиво оформлять свои пет-опенсорс-проекты с красивыми README-файлами.


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


    Презентация сверстанная с помощью LaTeX и beamer
    Презентация сверстанная с помощью LaTeX и beamer


    Увлекшись понятием CI я подумал, а почему бы не собирать при каждом коммите в репозиторий новый PDF? Подключение GitHub к TravisCI заняло буквально несколько минут. Хоть TravisCI не умеет напрямую работать с LaTeX, но зато прекрасно работает с Docker. Круто, подумал я, убью сразу несколько зайцев:


    • попрактикуюсь с написанием Dockerfile
    • смигрирую все LaTeX-пакеты в Docker (а их там немало и они довольно тяжелые)
    • попрактикуюсь с использованием TravisCI
    • помогу тем, кто вдруг когда-то захочет воспользоваться моим шаблоном на отличной от Linux ОС

    Написание файла конфигурации для TravisCI, Dockerfile и редактирование Makefile заняло не очень много времени и получилось удобно.


    Часть Makefile для запуска сборки проекта в Docker:


    ...
    docker:
        docker build -t docker-latex .
        docker run -ti -v ${PWD}:/master-thesis:Z docker-latex bash -c "make build && make clean"
        docker run -ti -v ${PWD}:/master-thesis:Z docker-latex bash -c "make -C presentation && make -C presentation clean"

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


    Релизы
    Релизы


    Оформив диплом в нужном для себя виде, я решил поделиться шаблоном с сообществом, по аналогии со своим бакалаврским. Решено было красиво оформить README-файл репозитория, ведь это лицо проекта. Человек который нашел твой проект в интернете должен по файлу README сразу же без труда разобраться как собрать проект и что с ним делать.


    Файл README.md
    Файл README.md


    Скоро мне предстоит писать третий диплом и я думаю, что мой подход к его написанию ничуть не изменится и на его оформление я потрачу совсем мизерное количество времени. Учитывая то, что я пересел с Linux на Mac OS, переход будет абсолютно безболезненным, так как есть Docker.


    Итоги


    Обычная заинтересованность LaTeX'ом позволила мне немного больше погрузиться в эту сферу:


    • "набил руку" при работе с LaTeX, что в дальнейшем помогло сэкономить время при создании документов и презентаций
    • набрался опыта при работе с git и GitHub, пока работал с этими пет-проектами
    • использовал на практике такие вещи как Docker и TravisCI, что дало мне хороший толчок при погружении в DevOps
    • научился аккуратно оформлять свои пет-проекты

    Ответы на потенциальные вопросы


    Зачем хранишь в репозитории PDF-файлы?

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


    Почему не до конца автоматизированы многие вещи, например библиография?

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


    Соответствует ли шаблон ГОСТ/ДСТУ?

    Я руководствовался исключительно требованиями нормоконтроллера, поэтому не совсем.

    Поделиться публикацией
    Комментарии 68
      +6
      Исключительно для того, чтобы человек, который зашел в репозиторий, мог не только посмотреть исходники, но и увидеть результат всего этого.

      Ну ведь есть релизы для этого.

      Тоже делал дипломную работу в латехе, но руководствовался этому шаблону, за что ребятам спасибо.
        +4
        Релизы это конечно круто, но иногда удобнее посмотреть как оно выглядит без скачивания, прямо в самом GitHub. В случае релизов, так не получится.
          –4
          Помимо самого Github — есть еще и GitLab.
        +5
        По моим ощущениям, плюсы Латеха становятся ощутимы на текстах размера от диплома.
        Курсовые — еще нет.
        У нас требования к оформлению минимальные, но максимальные к содержанию. Даже если быть совсем честным — к выступлению/защите. Сам диплом обычно читают только научный руководитель и рецензент. А вот на защите комиссия (меланхолично перелистывая диплом) уже показывает студенту кузькину мать.
        До 2007 года, главным плюсом Латеха был удобный набор формул, после того как появился Word 2007 — там всё стало гораздо лучше в этом смысле — почти как в Латехе.
        www.alex-slutsky.kiev.ua/files/angell2006/matan/course-works/word-2007-for-mathematic.pdf
        Это эпохальный, безумно полезный, труд М. Баландина — про формулы в Word 2007
        А вот здесь выложены мои наработки по Латеху в процессе подготовки диссертации.
        dxdy.ru/topic94437.html
          0

          У новых формул Word'а есть плюс — они принимают latex'овские команды при наборе, так что тыкать мышкой нужно меньше. Но есть и проблема, при использовании знака суммы по каким-то не ясным (мне) причинам он может поменять индексы и вместо того, чтобы расположить их сверху и снизу от знака суммы, он ставит их правее и ниже, у формул MS Equation такой проблемы нет, но их убрали из поставки офиса в какой-то момент.
          При этом журналы некоторые по-прежнему требуют статьи в формате *.doc, и с формулами MS Equation 3.0, а latex не признают совсем.

            0

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


            Из менее заметного — при переработке документа в Латехе невозможно сделать так, чтобы рисунок или таблица вдруг потерялись, уехав куда-то между страницами. То есть, в PDF они, может, и могут потеряться — но в тексте-то всегда найдутся.


            По удобству инлайн-формул — тоже плюс Латеху. Например, гораздо удобнее в Латехе, не отрывая рук от клавиатуры, написать


            $E = \hbar\omega$, где $E$ -- энергия кванта, $\hbar$ -- постоянная Планка, $\omega$ -- частота ...

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


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

              +2
              Здравствуйте!

              Я проблемы с библиографией в MS Word решаю при помощи Mendeley. На мой взгляд — весьма удобно. При необходимости можно также экспортировать цитаты в формате BibTex, что позволяет использовать единый инструмент для хранения ссылок независимо от того, в чём происходит подготовка публикации.

              Из открытых и свободных аналогов можно отметить Zotero. Я отдал предпочтение Mendeley по причине его поддержки коммерческой организацией и широкой распространённости, что позволяет надеяться на долгую жизнь ПО. Кроме того, объём бесплатного облака значительно больше (по крайней мере на момент сравнения).
                0
                Mendeley умеет импортировать bibtex или RIS, например если скачать отсюда? Или только их расширение для браузера надо ставить?
                  0
                  Здравствуйте!

                  Да, умеет. Импортом BibTex сам пользуюсь, импорт RIS есть в меню импорта.

                  Кроме того, можно добавлять публикации по DOI и PubMed (вероятно также по ArXiv ID, но я даже не знаю, что это). Для этого необходимо выбрать ручное добавление публикации, ввести идентификатор и нажать на кнопку рядом. В большинстве случаев работает, исключениями могут быть DOI на целые номера журналов и тому подобное.
                    +2

                    Вы очень правильные вещи пишите, но я не смог сдержать улыбку от "Здравствуйте!" в комментариях:)

                      +1
                      Здравствуйте!

                      Это я ещё не пишу в конце «С уважением...» и т.п.)
                        0
                        мне сначала показалось, что это «возглас удивления». Типа «здрасьте-приехали!»
                    0

                    Я использовал Mendeley при написании диплома бакалавра, но после нормоконтроля пришлось переписать список литературы руками под требования. Либо я не совсем правильно заполнял выходные данные при добавлении источников (окей, я часто оставлял это на откуп Mendeley, который хорошо выдергивает их из pdf), либо все же он не совсем под ГОСТ подходит (разумеется, использовал стиль для ГОСТ).

                      +1
                      Здравствуйте!

                      С оформлением ссылок по ГОСТ есть своего рода сложность — есть 2 стандарта: ГОСТ Р 7.0.5-2008 (библиографическая ссылка) и ГОСТ 7.1-2003 (библиографическая запись), и если требуют оформить «по ГОСТу» без указания стандарта, может выйти казус. У меня также есть на скорую руку сделанный стиль для ГОСТ Р 7.0.11-2011, но я понятия не имею уже, когда и зачем я его делал.

                      Стиль оформления ГОСТ 7.1-2003, насколько я помню, требуется при подготовке публикаций достаточно редко. В то же время, согласно ГОСТ 7.32-2001, библиографические записи в списке литературы диплома должны оформляться как раз по ГОСТ 7.1.-2003. Быстрая проверка того самого стиля для ГОСТ Р 7.0.11-2011 показывает, что результат Mendeley похож на правду. Т.е., фактически, это стиль ГОСТ 7.1-2003.

                      Стоит заметить, что стили, которые можно найти через встроенный диалог поиска стилей, могут иметь проблемы с русским языком (что иронично, ведь стандарт как минимум российский). В последнее время я использую стили отсюда, на основе такого стиля сделал и стиль ГОСТ Р 7.0.11-2011.
                        0

                        Для понимания, ГОСТ Р 7.0.11-2011 — это стандарт на оформление диссертации и автореферата. И да, список литературы (который размещается в конце диссертации) должен быть оформлен по ГОСТ 7.1 (п. 5.6.7 ГОСТ Р 7.0.11), а ссылки на него, то есть ссылка по номеру ([5]), ссылки по авторам (Иванов, И.И., 2003) и сноски внизу страницы должны оформляться по ГОСТ 7.0.5 (п. 5.3.8). В научных статьях в сборниках ссылки после статьи тоже должны оформляться по ГОСТ 7.0.5.

                          0
                          Здравствуйте!

                          Про назначение стандарта ГОСТ Р 7.0.11-2011 я понял, когда открыл его текст. Стиль оформления ссылок я назвал по имени данного стандарта по ошибке, вероятно, которую заметил только когда писал комментарий выше.
                      +3

                      Не возьмусь утверждать сегодня с полной уверенностью, что Zotero лучше Mendeley, но в свое время, попробовав обе программы, однозначно остановился на Zotero. Даже написал мануал по оптимальной организации хранения

                        0
                        Да я тем же Mendeley пользуюсь и для Word, и для LibreOffice, и для BibTex.
                        Третий вариант наиболее удобный.

                        Как тут уже тут написали, с плагином к WYSIWYG редакторам есть проблема с библиографией, если источники на разных языках.
                        Т.е. если нужно русские статьи делать в формате
                        1. Иванов А.Б., Петров В.Г. Написание статей в научные журналы // Научный вестник. — 1999. — Т. 6. — С. 42.
                        а английские:
                        2. Smith J. Best practices in typesetting // Modern Software. — 1984. — V. 2. — P. 71.
                        получается много танцев с бубном в Word. А в BibTex только нужно ко всем статьям на русском проставить поле `language={russian}` в .bib файле.
                        Кроме того, ссылки в BibTex формате можно скачивать напрямую с Google Scholar и сайтов журналов, не импортируя в Mendeley предварительно.

                        И, опять же, не очень понятно, как синхронизовывать списки литературы при совместной работе над статьёй, если база Mendeley у каждого своя. В TeX-то нужно только .bib файл общий держать, а за Word я как-то не ручаюсь.
                          0
                          И, опять же, не очень понятно, как синхронизовывать списки литературы при совместной работе над статьёй, если база Mendeley у каждого своя.

                          У меня с решением данной проблемы всё просто: все псевдонаучные статьи я пишу сам, поэтому в синхронизации потребности не возникает. Воспользоваться же преимуществами *TeX (LaTeX, BibTeX) получается крайне редко, т.к. большая часть журналов в этой стране требует строго MS Word, причём иногда строго *.doc файлы. Только при публикации в SPIE была возможность использовать *TeX, причём с предоставлением готовых стилей для всего (которые пришлось править для соответствия требованиям)).

                          Вообще, у Mendeley есть что-то для совместной работы, как я понимаю. По крайней мере, на мысль об этом наталкивает присутствие Shared Storage в настройках профиля.
                            0
                            синхронизировать очень просто: создаёте группу и даёте доступ кому нужно. Туда скидываете все ссылки – и вуаля.
                              0
                              Настраивали ли вы как-то менделеевский плагин к LibreOffice? Со времени подготовки кандидатской на форуме менделея висит мой вопрос, и с тех пор ничего не изменилось. Суть в том, что если я добавляю >50 ссылок в документ, при добавлении следующих время, за которое менделей обновляет ссылки, становится совсем большим, около пары минут. Недавно проверял – ситуация та же. Кроме того есть ещё кучка мелких неприятных багов. В итоге, я остановился на концевых сносках, которые хорошо переносятся между LibreOffice и MSOffice и имеют более предсказуемое поведение.
                              0
                              если бы ещё можно было делать два библиографических списка, как это требуется в диссертации, общий и авторский…
                                0
                                И ещё вопрос: там есть поиск и скачивание со sci-hub?
                                  0
                                  Разумеется нет. Sci-hub, насколько я знаю, является весьма не официальным проектом, поддерживаемым в обход интересов издательств. Mendeley, как продукт, поддерживаемый издательской фирмой Elsevier, вряд ли когда-нибудь обзаведётся функцией работы со Sci-hub.

                                  По мере необходимости я сам скачиваю необходимые статьи со Sci-hub. Чаще всего нахожу DOI статьи, по нему нахожу статью на Sci-hub, открываю диалог добавления публикации вручную, ввожу там тот же DOI, но нему автоматически заполняются выходные данные публикации, после чего добавляется файл, скачанный со Sci-hub.
                                +2
                                Когда в моём случае появилось обязательное требование писать выпускную квалификационную работу в Microsoft Word (чтобы прогнать её через университетскую систему автоматического нормоконтроля и антиплагиата), решил после Латеха освоить возможности Ворда по автоматизации работы.

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

                                Формулы внутри текста в Ворде также возможны, хотя и работают не так хорошо, как в Латехе.

                                В целом, при грамотном использовании инструментов Ворда, в нём можно решить практически все те же задачи, что и в Латехе (не считая всяких пакетов, которые расширяют возможности последнего многократно, естественно). Но удобство, конечно, в любом случае сильно страдает :(
                                  0

                                  Подскажите, пожалуйста, как делать ссылки на рисунки/таблицы/etc? Я вставляю название для рисунка, оно автонумеруется, все хорошо. Но при вставке перекрестной ссылки Word вставляет строку вида "рисунок N". Как заставить его вставлять только номер я не понял. В итоге это приводит к следующему:


                                  … на рисунок 1 приведены...
                                    +2
                                    А вот тут начинается то самое «удобство страдает» :)

                                    Во вставленном названии выделяете только номер и добавляете его как закладку (Вставка -> Ссылки -> Закладка, я добавил этот пункт в панель быстрого доступа), дав какое-либо название (аналогично тому, как это делается в Латехе). После этого в нужном месте вы вставляете с помощью инструмента «Перекрёстная ссылка» этот номер как текст закладки.

                                    Важно помнить, что вставленные подобным образом вычисляемые поля Ворд автоматически не обновляет. Чтобы их обновить, надо выбрать поле и нажать F9. Можно просто выделить весь текст и несколько раз нажать F9, тогда пересчитается всё.
                                      +1
                                      Вставляем ссылку вида «Постоянная часть и номер». Ставим на неё курсор, Shift-F9 для перехода в режим редактирования полей. После \h длписываем \# \0, чтобы она была вида {REF _Ref123456789 \h \# \0 }, пробел после нуля обязательный. F9 — для выхода из режима редактирования, профит)
                                        0
                                        О, тоже интересный вариант. Надо будет проверить, что удобнее :)
                                    +1
                                    По удобству инлайн-формул — тоже плюс Латеху. Например, гораздо удобнее в Латехе, не отрывая рук от клавиатуры, написать

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

                                    Я пишу с использованием хоткея для режима формул (alt + =), примерно так :


                                    alt+= *включился режим формулы* E = \hbar\omega стрелка_вправо *обычный режим*, где alt+= *включился режим формулы* E стрелка_вправо *обычный режим* ... 

                                    При написании формул в тексте Word сам применяет к ним инлайн-стиль.


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

                                      0
                                      Я Mendeley для этого использую.
                                      Упс, уже описали выше.
                                        0
                                        Недавно выяснил, что некогда монструозный JabRef остался таким же уродцем, но уже значительно продвинутее: ищет не только по названию и DOI, но и по ISBN, умеет искать и скачивать файлы, поддерживает BibLaTeX, имеет здоровый и дополняемый список журнальных сокращений, умеет эти журналы сокращать и восстанавливать, чистит и нормализует файлы.
                                        Разве что не имеет облака и не принадлежит паскудному Эльзивиру.
                                        0
                                        чем заниматься в Ворде переключением шрифтов, чтобы внутри текста символы выглядели так же, как в формулах.

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

                                        0
                                        после того как появился Word 2007 — там всё стало гораздо лучше в этом смысле
                                        Попишите на регулярной основе те же тексты решений заданий для школьников (документ на 80% состоящий из math mode) и «окажется что лучше» это, увы, далеко не «достаточно хорошо».

                                        Apple Pages, кстати, тоже с недавних пор научились понимать базовый TeX.
                                          0
                                          А зачем писать тексты решений заданий для школьников?
                                          Пусть школьники сами пишут.
                                          Но так-то да. Я все же физик, а знакомые математики просто впадают в прострацию когда им приходится писать формулы в Word.
                                            0
                                            А зачем писать тексты решений заданий для школьников?
                                            Чтобы иметь возможность дать доступ не к скану листочка с решением, а прилично выглядящему PDF.
                                          0
                                          Решение для всех наработок в виде стандартных пакетов можно найти в CTAN и TeX Stackexchange.
                                          +3
                                          LaTeX хорошо, но это всё же не семантическая разметка, поэтому есть проблемы, на эту тему я как-то писал.
                                            +1
                                            LaTeX — безусловно очень удобный инструмент для создания форматированного текста. Особенно удобно то, что в нём можно настроить все или почти все аспекты форматирования, и сделать это нужно будет один раз, написав соответствующий preamble или, лучше, стиль (*.sty). К тому же, во многих случаях журналы предоставляют уже готовые стили (для подавляющего большинства физических журналов LaTeX — это стандарт, де-факто).

                                            И, всё-таки, я бы Вам посоветовал поближе присмотреться к bibtex'у. На порядок упрощает работу с литературой. Один и тот же bib-файл может быть использован для создания разных документов с меняющимися требованиями к библиографии. Нужно будет только поменять (или отредактировать) файл стиля (*.bst).

                                            TikZ — тоже очень крутой, но у него порог вхождения существенно выше, и я бы не стал его рекомендовать для чего-то простого (если ничего сложнее простейших диаграмм из пары блоков не требуется). А, вот, для каких-то сложных рисунков и диаграмм, где ещё и вычисления могут понадобиться — это то, что нужно. Когда набирается опыт и куча уже готовых рисунков, делать новые становится намного проще: многие вещи просто копипастятся.
                                              0
                                              Лучше уж BibLaTeX и Biber, чтоб с нормальной поддержкой юникода в pdfLaTeX.
                                                0
                                                Что угодно, лишь бы не bibitem'ы вручную…
                                              0
                                              Всем советую LyX: он WYSIWYM (what you see is what you mean), что очень экономит время и спасает от многих ошибок. Пишу на нем русские и английские статьи, где доказательства теорем с применением матричной алгебры. Очень удобно работать с соавтором и редактором журнала пересылая файл ".lyx". Хороший чекер (англ и ру), использование BibTeX.
                                                0
                                                Диплом писал 5 лет назад, и тогда я не осилил LyX. Я использовал Gummi — никакой автоматизации, но для меня было плюсом, что он сразу отрендеренный PDF показывает.
                                                  0
                                                  тогда я не осилил LyX
                                                  Странно. ИМХО Ворд сложнее. В LyX подробная инструкция. Но о вкусах не спорят.
                                                  0
                                                  Всем советую LyX: он WYSIWYM
                                                  Следовательно создан для тех, кто в LaTeX не разбирается и разбираться не желает. Для удобной работы с BibTeX есть JabRef. Всё остальное есть в Texmaker.
                                                    0

                                                    Или ещё лучше, имхо, это его форк TeXstudio.

                                                      0
                                                      Или ещё лучше
                                                      Чем, если не секрет? На первый взгляд близнецы-братья.
                                                        0
                                                        В ТехСтудио есть мультикурсор.
                                                        Основное — более открытый процесс разработки.
                                                      0
                                                      Следовательно создан для тех, кто в LaTeX не разбирается и разбираться не желает.
                                                      ИМХО странный вывод. Аналогично можно сказать, что инструменты для создания web-страниц для тех, кто в HTML не разбирается и разбираться не желает. Вручную надо разметку делать в блокноте. И всякие ассемблеры аналогично: в машинных кодах надо писать.
                                                      Для удобной работы с BibTeX есть JabRef.
                                                      Да. Я его из под LyX использую. И Texmaker использую -примерно в 5% работ он удобнее. Одно не исключает другое, а дополняет.
                                                    0
                                                    В редакторе ShareLaTeX был темплейт диссертации под отечественные стандарты, с библиографией. Сам редактор теперь объединился с Overleaf, так что темплейт теперь, наверное, там.
                                                      0
                                                      Жаль, что у Overleaf сейчас нет прямой поддержки git, только через GitHub.
                                                      И для реально больших проектов он не подходит — магистерку, может, потянет, а больше — вряд ли.
                                                        0
                                                        А что не так с большими проектами в Overleaf? Пока ещё можно гонять старый Overleaf, с поддержкой git.
                                                          0

                                                          Насколько я помню, у меня происходил timeout при компиляции.

                                                      +2
                                                      Если больше нравится Гитлаб, то вот .gitlab-ci.yml
                                                      image: blang/latex:ctanfull
                                                      
                                                      stages:
                                                        - build
                                                      
                                                      thesis:
                                                        stage: build
                                                        script:
                                                        - latexmk -pdf main.tex
                                                        artifacts:
                                                          paths:
                                                          - thesis.pdf
                                                      

                                                      После билда можно смотреть в браузере или скачивать архив.
                                                        0
                                                        Я сейчас примерно так думаю организовывать работу издательства. Но всё же в облаке довольно много времени уходит на компиляцию. В GitLab получается примерно 5 минут — развернуть docker-образ и прогнать файл. А у Вас сколько времени на это уходит?
                                                          0
                                                          Пять с половиной минут, но это потому что я каждый раз локально образ собираю, если закинуть его в докерхаб, то думаю сборка проекта не более минуты займет.
                                                          Если же его собрать один раз travis-ci.org/Amet13/master-thesis
                                                          0
                                                          Мне кажется, большая проблема — часто требуют предоставлять работу в .doc (даже не в .docx). У Вас не требовали или Вы как-то решили проблему?
                                                            0

                                                            Иногда университет может требовать предоставить диплом/курсовую в таком формате из-за того, что они хотят пропустить работу через антиплагиат, который другие форматы не понимает. К моему удивлению, есть разные системы, которые называют себя "Антиплагиат", помимо antiplagiat.ru.
                                                            Хуже, когда журнал или конференция требует статьи/тезисы в .doc, и обязательно, чтобы формулы были в MS Equation 3.0. Хотя есть мнение, что потом при печати сборника он верстается в LaTeX.

                                                              0
                                                              Хуже, когда журнал или конференция требует статьи/тезисы в .doc […] Хотя есть мнение, что потом при печати сборника он верстается в LaTeX.
                                                              Так оно и есть. По крайней мере в паре местных журналов по дидактике математики.
                                                              0
                                                              Для антиплагиата все сдавали doc/docx, я спросил, а можно ли PDF, мне ответили что можно.
                                                              0

                                                              Остановился на TexStudio, потому что удобно собирает pdf'ки нажатием одной кнопки — F5, удобно ставит необходимые package

                                                                0

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


                                                                А вы Markdown не рассматривали? Скорее всего диплом с помощью него написать не получится, но какие-то более простые статьи — вполне, особенно если не требуется соблюдение стандартов.


                                                                Я все хочу доработать свою утилиту MarkConv чтобы можно было после пуша получать версию статьи в формате хабра, т.к. он отличается от гитхабовского. Сам я пишу статьи в Visual Studio Code. Это удобный редактор с поддержкой плагинов генерации содержания, форматирования таблиц, проверки правописания и других. Также можно будет сразу конвертировать статьи в pdf или html, что нужно для блогов без поддержки Markdown.

                                                                  0
                                                                  Для диплома я конечно не рассматривал Markdown, не для этого он придуман. Но для всего остального я использую именно его. Вот один из примеров.
                                                                  Насчет картинки, большую часть людей которую я знаю писали диплом в Word особо не запариваясь, именно для таких людей мои действия смотрятся как троллейбус из буханки хлеба.
                                                                    +1
                                                                    Думаю эти люди не будут читать эту статью :)
                                                                  0

                                                                  С Latex я тоже работал и использовал VSCode с плагином LaTeX Workshop — полет нормальный :)

                                                                    0
                                                                    Почему титульная страница не версталась в LaTeX?
                                                                      0
                                                                      Изначально я хотел ее сверстать, но оказалось что она должна была соответствовать шаблону на 100%. В связи с кучей различных шрифтов, подчеркиваний и прочих нелогичных как по мне артефактов, решено было с ней не запариваться, а оставить как есть.
                                                                        –1
                                                                        Очень зря, титулку свёрстанную в LaTeX нужно было добивать, ибо в разы лучше могло выглядеть при должном усердии, а так получается, что название статьи не полностью соответствует действительности.

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

                                                                    Самое читаемое