Giter VIP home page Giter VIP logo

fshp / latex-g7-32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from latex-g7-32/latex-g7-32

0.0 2.0 0.0 899 KB

Стиль LaTeX для расчётно-пояснительной записки к курсовым и дипломным работам (ГОСТ 7.32-2001)

License: GNU General Public License v3.0

CMake 6.14% Makefile 1.62% Shell 0.92% C 0.32% PHP 1.69% Assembly 2.81% SourcePawn 5.77% Pascal 5.91% C++ 2.98% TeX 54.11% Python 1.98% Perl 15.74%

latex-g7-32's Introduction

Стиль LaTeX для расчётно-пояснительной записки к курсовым и дипломным работам (ГОСТ 7.32-2001)

Ориентирован на студентов IT специальностей.

Изначально был написан в расчёте на pdfLaTeX, с коммита 23b1612 добавлена поддержка XeLaTeX. Помимо стилей содержит "рыбу" РПЗ (в той же папке tex). Его можно собрать используя make.

Также имеются необходимые макеты (layout) для LyX (редактор, редактирование в котором больше похоже на работу в Microsoft Word, чем на написание LaTeX кода, но результат получается такой же хороший, как в LaTeX). Для использования LyX также нужно скопировать стили LaTeX (из папки tex).

Результат

См. вкладку Релизы.

Попробовать online

Спасибо @KMax, теперь можно попробовать шаблон в ShareLaTeX.

Участие в проекте

Стиль распространяется "как есть". В случае обнаружения несостыковок с ГОСТом, обнаружении багов, а также если есть вопросы по использованию, не отражённые в документации, заводите, пожалуйста, issue. Pull requests принимаются.

Установка

Зависимости

Основные

LaTeX пакеты
amssymb amsmath caption flafter footmisc hyperref icomma iftex graphicx longtable underscore
openSUSE
texlive-latex texlive-iftex 
Программы
inkscape dia graphviz context

pdfLaTeX-версия

LaTeX пакеты
cmap babel mathtext pscyr ucs

Для придания таймовского вида нужно установить соотв. шрифты (пакет cyrtimes.sty), в Debian/Ubuntu это пакет scalable-cyrfonts-tex. Если этого пакета нет, оно использует стандартную гарнитуру CM.

XeLaTeX-версия

LaTeX пакеты
cm-unicode-fonts minted polyglossia xecyr
openSUSE
cm-unicode-fonts texlive-minted texlive-polyglossia texlive-xecyr
Программы
python pygments

LyX

lyx

Установочный скрипт

python3.4

Копирует (или перемещает) файлы со стилями в общую texmf папку, макеты LyX в папку с настройками LyX. Для получения помощи вызовите install.py --help.

Использование LaTeX

После изменения РПЗ запустите make в корне. Результатом будет rpz.pdf. Если требуется использование pdfLaTeX то в Makefile надо поменять в третье строке xelatex на pdflatex.

Редактор

Можно использовать любой редактор, например, Kile. На комманду cd .. && make вешается горячая клавиша и создаётся проект с корректным главным документом.

Установка и использование под Windows

Для работы в Windows необходимо установить следующие зависимости:

  1. dwimperl

  2. texlive

  3. inkscape

  4. dia

  5. graphviz

  6. ghostscript

  7. babun — не обязательно.

  8. cmake — не обязательно при использовании babun, обязательно при работе без него. В случае с babun нужно использовать pact install cmake, а не самостоятельную установку из установщика на сайте. В любом случае необходимо либо иметь babun+make, либо babun+cmake, либо cmake.

    Внимание: CMake не собирает ничего сам, он генерирует скрипты для make (и ряда других программ), только он умеет использовать разные диалекты: nmake (из Visual Studio), mingw32-make, MSYS make, … Поэтому что‐то из этого нужно также установить. На данный момент сборка проверялась для babun+cmake, babun+make и просто нативного cmake. В последнем случае использовалась утилита make из пакета WinAVR, идентифицирующаяся как GNU make.

  9. python — при использовании babun не нужно, он уже установлен там.

    После установки python установить его пакет pygments.

После установки всех зависимостей необходимо добавить их в $PATH. Установщики некоторых (texlive, cmake и dwimperl) делают это сами (но, возможно, требуется установка галочки), для остальных нужно редактировать реестр, либо изменять PATH временно. В PATH помещаются каталоги, в которых находятся следующие файлы: inkscape.exe, dia.exe, dot.exe, python.exe.

Ghostscript предоставляет файлы gswin32.exe и gswin32c.exe, однако для работы нужно иметь файл gs.exe или gs.bat где‐то в $PATH. В случае с bat файл должен выглядеть так:

@echo off
P:\ath\to\ghostscript\gswin32c.exe %*

(ВНИМАНИЕ: именно gswin32c.exe, не gswin32.exe.) Можно просто скопировать gswin32c.exe в gs.exe и добавить каталог с ними в $PATH.

В случае использования python из babun вам дополнительно нужен в $PATH pygmentize.bat следующего содержания:

@echo off
C:\Users\{user}\.babun\cygwin\bin\python2.7.exe C:\Users\{user}\.babun\cygwin\bin\pygmentize %*

(замените {user} на своего пользователя). Что нужно в случае использования python без babun я не знаю, но исполняемый файл pygmentize должен быть в $PATH.

После того, как $PATH станет содержать пути ко всем необходимым исполняемым файлам можно будет использовать выбранную систему сборки для создания PDF‐файла. В случае с babun+[c]make:

  1. Откройте babun.

  2. Войдите в каталог с проектом с помощью cd /path/to/latex-g7-32.

  3. При использовании cmake:

    1. Создайте каталог build: mkdir build.
    2. Войдите в него: cd build.
    3. Соберите проект: cmake .. && make. PDF появится в /path/to/latex-g7-32/build/rpz.pdf (он же rpz.pdf в текущем каталоге).
    4. При изменении tex файлов и картинок/диаграмм/… можно собирать просто с помощью make.
    5. При добавлении файлов/картинок/диаграмм нужно опять использовать cmake .. перед make.
    6. Для очистки от сгенерированных файлов можно просто удалить каталог build.

    При использовании make:

    1. Проект (пере)собирается просто make. PDF появится в /path/to/latex-g7-32/rpz.pdf.
    2. Для очистки от сгенерированных файлов можно использовать make clean. Проверяйте их наличие с помощью git status --ignored, временные файлы не сконцентрированы в одном каталоге в этом случае.

Нативный CMake:

  1. Откройте cmd.exe.

  2. Войдите в каталог с проектом с помощью:

    1. D:, где D: — буква диска, на котором лежит проект. Данная часть предназначена для переключения текущего диска: в cmd.exe у каждого диска свой текущий каталог, текущий каталог cmd.exe является текущим каталогом текущего диска.

      Под D: здесь понимается буквально: “введите команду D: и нажмите ввод”.

    2. cd D:\path\to\latex-g7-32.

  3. Создайте каталог build: mkdir build.

  4. Войдите в него: cd build.

  5. Запустите cmake ... Т.к. в отличие от *nix систем (cygwin (babun) можно считать относящимся к таковым в определённой степени) на Windows нет «стандартного make», то вполне возможно, что просто cmake .. сделает не то, что нужно. Для GNU make из WinAVR, использовавшегося автором нужно было использовать команду cmake .. -G "Unix Makefiles". Список возможных генераторов можно получить либо на сайте CMake, либо указав cmake заведомо несуществующий генератор: к примеру, cmake -G xxx_nonexistent_generator_xxx (внимание, поведение может измениться в новой версии CMake). На сайте информация предоставлена более подробно.

  6. Запустите make. В зависимости от того, какой генератор есть у вас в системе вместо make может оказаться nmake (распространяется с Visual Studio, соответствует cmake .. -G "NMake Makefiles") или mingw32-make (распространяется с компилятором mingw32, соответствует cmake .. -G "MinGW Makefiles").

    PDF файл появится в текущем каталоге (т.е. D:\path\to\latex-g7-32\build) под названием rpz.pdf.

Сборка с использованием Docker

После установки и настройки docker (обратитесь к документации вашего дистрибутиве) создайте образ:

cd /path/to/latex-g7-32
cd docker
docker build -t somename .

Все необходимые зависимости будут установлены внутри образа.

Затем сборку можно будет осуществлять следующим образом:

rm -f /path/to/latex-g7-32/results
docker run --volume /path/to/latex-g7-32/:/doc/ somename

Созданные файлы появятся в каталоге /path/to/latex-g7-32/results, его необходимо удалять перед пересборкой. При сборке этим методом шаблон собирается четырьмя способами: (make, cmake) × (pdflatex, xelatex), если вам достаточно какого‐то одного, то можно изменить docker/build.sh.

Использование LyX

Откройте lyx/rpz.lyx и редактируйте.

В первый раз необходимо настроить параметры вызова XeLaTeX, для того, чтобы minted работал.

Настроки -> Обработка файлов -> Конверторы -> LaTeX (XeTeX) -> PDF (XeTeX) -> Изменить -> Преобразователь: xelatex -shell-escape $$i.

Авторы

1. Первая версия

Алексей Томин

2. Доработка "дебианщика"

Михаил Конник

3a. Доработка кафедры ИУ7

Иван Коротков

Changelog

1. Заработали cases и tabular;
2. Добавлена опция utf8;
3. Комментарии в UTF-8;
4. Изменены отступы после тире в description;
5. Добавлен \paragraph;
6. Уменьшены отспупы после заголовков и учеличены --- до (хотя это, возможно, и нарушает 7-32);
7. Сделаны отсупы в оглалвнеии (ГОСТ эту тему обходит, как мы поняли);
8. \normalfont;
9. Добавлен раздел "Приложения".
9. Makefile для автоматизации рутины;
10. Рисунки (обрезка, конвертация dia, dot, svg);
11. Стили для листингов;
12. Разные мелочи.

3b. Добавление layouts LyX

Расим (Brotherofken)

4. GitHub, поддержка XeLaTeX, LyX

Роман Инфлянскас

5. Further fixes, tweaks and development

According to the requirements of ГОСТ 7.32-2001 ред. 2009 года.pdf and some other random wishes. -- Ivan Zakharyaschev [email protected].

(Read the git log... I tried to explain each change clearly.)

6. Сборка под Windows+cygwin, CMakeLists.txt, а также сборка с docker

Николай Павлов

Благодарности

Ростислав Листеренко (сообщения об ошибках)

См. также

Статьи

Записки дебианщика

Репозитории

@qrilka: порт второй версии на XeLaTeX

@petethepig: порт урезанной третьей версии ("под себя") на XeLaTeX

latex-g7-32's People

Contributors

dvarubla avatar einhander avatar felix-neko avatar imz avatar klimentyev avatar loyd avatar rominf avatar tw33dl3dee avatar zyx-i avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.