Coder Social home page Coder Social logo

alex65536 / bulatov-lectures-2 Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 0.0 1.62 MB

Конспект по математическому анализу в LaTeX, 3ий семестр (по лекциям Булатова В. И)

Makefile 0.06% Shell 1.37% TeX 98.41% Awk 0.16%
latex math study lectures calculus

bulatov-lectures-2's Introduction

Конспект по математическому анализу в LaTeX (по лекциям Булатова)

Build Status

В этом репозитории будет вестись работа над конспектом.

Порядок работы

Работа будет вестись по очереди. Если очередь пуста (надеюсь, такого не произойдет), то следующий будет выбираться случайно.

Ссылка на очередь верстки

Также необходимо, чтобы после добавления лекции кто-то еще пересматривал изменения и вносил исправления. О том, как проверять лекции, см. раздел ниже.

Скачать PDF

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

Между коммитом и сборкой новой PDFки по нему может пройти около пяти минут. В случае, если сборка свалится, PDFка не обновится.

Как добавить лекцию

  • Создаем новую ветку в git'е.

  • Создаем новый файл tex/chapterX/lecY.tex, где X — номер главы, а Y — номер лекции.

  • Если в лекции Булатов закончил одну главу и начал новую, то создаем два файла. При этом, если понадобилось создать новую главу, см. раздел ниже.

  • В созданный файл копируем содержимое шаблона (находится в tex/template.tex).

  • Пишем TeXст :)

  • Если нужны картинки, то они помещаются в папку img.

  • Затем необходимо зайти в файл tex/chapterX.tex и подключить новый файл, добавив строчку

    \subfile{tex/chapterX/lecY.tex}

    (здесь и выше вместо X подставляем номер главы, а вместо Y — номер лекции)

  • Создаем pull-request на гитхабе

  • Готово :)

Как создать главу

  • Копируем, например, tex/chapter1.tex в tex/chapterX.tex, где X — номер главы

  • Удаляем старые ссылки

  • Подключаем новую главу в основном файле, добавив строчку

    \subfile{tex/chapterX.tex}

    в main.tex.

  • Готово :)

Как добавлять картинки

  • Допишите в шапку файла

    \graphicspath{
      {../../img/}
      {../img/}
      {img/}
    }
  • Затем добавьте картинку в папку img. Пусть она называется 42.png.

  • Затем используйте \includegraphics:

    \includegraphics{42.png}
  • Готово :)

Как проверять лекции

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

  • Также важно, чтобы теоремы, примеры и т. п. были оформлены стандартным способом с использованием matanhelper'а (через \begin{thm}, \begin{exmp}, ...)

  • Можно также убедиться, что глава действительно будет присутствовать в общей PDFке. Для этого можно либо попробовать собрать PDFку, либо проверить, что в главе есть ссылка на нужную лекцию, а в main.tex — ссылка на нужную главу.

  • Далее, следует взлянуть на раздел Code-style и посмотреть, не нарушается ли он. Довольно большая часть стиля проверяются автоматически скриптами при сборке, но некоторые части трудно поддаются автоматической проверке. В случае нарушения стоит написать тому человеку, который верстал лекцию, либо исправить самому.

  • Можно также проверить на орфографические ошибки, но это не обязательно. @alex65536 будет периодически прогонять тексты через программу проверки орфографии, поэтому здесь проблем быть не должно.

Code-style

Хотя чёткого и строгого code-style, как в случае с программированием, нет, настоятельно рекомендуется придерживаться следующих правил:

  1. Самое главное правило — желательно, чтобы получаемый PDF был оформлен примерно в одном стиле. Похожие вещи должны выглядеть похоже. При этом одинаковый стиль для кода не важен. В случае сомнений, как оформить какой-либо участок кода, лучше посмотреть на предыдущие лекции. Заглянуть в тестовый раздел также полезно.

  2. При создании скобок используйте специально предназначенные для этого конструкции вида \left(... \right), \left[... \right] и так далее, а не просто (...), [...]. При этом, обычные скобки нужно использовать в том случае, когда внутри скобок находятся небольшие выражения, высота которых равна высоте текста (например, x, f(3,4), 5x + 2y + 7).

  3. Не забывайте ставить пробелы внутри выражения, если это требуется. Например:

  • после запятых, разделяющих части формул:
    $f(x_{ij}) = g(x_{ij}),\  \forall i \in \overline{1,n},\ \forall j \in \overline{1,m}$
    Обратите внимание на \ в примере!
  • в интегралах перед dx, dy и т. д. стоит ставить \
  • в выражениях вида \forall ... \exists ... пробелы ставится \quad:
    \forall ... \quad \exists ...
  • в остальных случаях применяется правило 0)

Короткий гайд по пробелам в LaTeX:

  • по возрастанию ширины: \! (отрицательной длины), \,, \:, \;, \ , \quad, \qquad
  • больше пробелов: link
  1. Для многострочных формул следует использовать \begin{gathered}:

    \[\begin{gathered}
    первая строка формулы \\
    вторая строка формулы
    \end{gathered}\]

    \\ обозначает переход на новую строку.

  2. Только что введенные понятия выделяйте курсивом, для этого используйте \emph{}.

Многие правила проверяются автоматически при сборке или при вызове make style. Например:

  • Следите за длиной строк: в случае, когда они слишком объемные, изучать изменения не очень комфортно. Требуемая длина строки - не более 80 символов.
  • Необходимо использовать конструкцию \[ \] вместо $$ $$.
  • Не стоит использовать \textit, лучше использовать \emph.
  • Вместо \Rightarrow и \Leftrightarrow используйте \implies и \iff.
  • Пишите "и т.д.", "т.к.", "и т.п.", "т.е." таким образом: т.~е.

Существует также autofix.sh, который исправляет код в случае несоблюдения некоторых правил.

Коммиты

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

Continuous Integration

В этом репозитории настроен Travis CI, который собирает конспект на сервере. Следите за статусом сборки. Для этого можно щелкнуть на текст <число коммитов> commits. Появится список всех коммитов. Около каждого коммита можно посмотреть статус сборки (очевидно, галочка обозначает "все хорошо", а крестик — что не удалось скомпилить, либо не пройдены code-style проверки)

Ресурсы по LaTeX

Этот README

Это описание можно менять, если с чем-то не согласны (лучше после обсуждения). Дополнения и решение общих проблем также можно писать сюда.

В случае каких-либо проблем (с компиляцией, с добавлением файлов)

Можно попробовать разобраться, если не получилось, писать мне (@alex65536) или в чат.

bulatov-lectures-2's People

Contributors

alex65536 avatar alexjokel avatar anevero avatar artemxx avatar danilarumak avatar dasfex avatar davill02 avatar enid3 avatar katsiarynadzibrova avatar katyamoroz1 avatar kokhnovich avatar kukichek avatar lessyless avatar m0rc1pann avatar mikebasanets avatar nenartovich avatar nikitabozhenkov avatar pmetlyuk avatar rainmustfall avatar rrenkens avatar vmodzolevskii avatar xtsm avatar yaninasan10 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.