latex что это за программа

Разновидности TeX

Введение

TeX система компьютерной вёрстки, разработанная американским профессором информатики Дональдом Кнутом в целях создания компьютерной типографии. В неё входят средства для секционирования документов, для работы с перекрёстными ссылками. Многие считают TeX лучшим способом для набора сложных математических формул. В частности, из-за этих возможностей, TeX популярен в академических кругах, особенно среди математиков и физиков.[1]
Для тех кто хочет почитать про историю TeX она хорошо написана на википедии. После выпуска TeX, стали появляться различные системы, которые упрощали(ют) использование Tex, или преследуют определенные цели (например использования языка программирования в документе). На текущий момент добавление функционала TeX’а заморожен, по этой причине системы которые основаны на вёрстке не увеличивают функционал его, а используют его с помощью своих методов и возможностей. Теперь можно перейти ко следующей части статьи.

LaTeX

LaTeX — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов.[2]
Останавливаться на этом пункте я не вижу смысла, поскольку он достаточно хорошо освещён в других источниках.

XeTeX

Первый выпуск XeTeX состоялся в 2004 году, последняя версия появилась в сентябре 2010 года. Он использует Unicode. Позволяет использовать различные шрифты в системе, без настройки шрифтов TeX. Отдельной интересной особенностью является возможность использовать русскоязычные команды и макроопределения.[3]
Приведём пример использования XeTeX, который собирается с использованием
xelatex:
\documentclass

\usepackage\newcommand<\названиекоманды>[2]
<
Параметр 1: #1

LuaTeX

BibTex

ff>».[7] Когда искал решение для статьи нашёл мнение по данному решению: Так замена «

ff>» убивает конвертацию из полного имени автора в bib файле в его инициалы в результирующем файле.[8]

ConTeXt

К сожалению мне не удалось найти много информации на русском по ConTeXt, а писать, что это система вёрстки я не вижу смысла. Поэтому если кому-нибудь захочется больше о нём узнать, то можете обратиться к литературе с номерами 9,10,11.

Omega

Омега является расширением для TeX, которая использует юникод, которая была написана John Plaice и Yannis Haralambous, после заморозки TeX в 1991 году. Она включает новый 16 битный юникод, а так же несколько шрифтов, которые широко охватывают алфавиты. В 2004 году на конференции TeX Users Group один из двух разработчиков John Plaice решил отойти (split off) к новому проекту, который ещё не опубликован, Haralambous продолжал работать над Омегой. LaTeX для Omega — lambda.
Хотя проект Омега был перспективным его разработка шла медленно, а функциональность в значительной мере не стабильной. Отдельный проект был начать с целью стабилизировать код и использовать с e-Tex, название которого Aleph, во главе с Giuseppe Bilotta. Latex версия Aleph называется Lamed.
Aleph больше не развивается, но большинство его функциональности была интегрирована в LuaTeX, новый проект который финансируется Университета Штата Колорадо (через ориентированный TeX Project by Idris Samawi Hamid) и NTG.Разработка LuaTeX началась в 2006 году, первая бета версия летом 2007. Это приемник Aleph и Pdftex, используя Lua как интегрированный лёгкий язык программирования. LuaTex разработан Taco Hoekwater.
Это довольно вольный перевод статьи с английской википедии.

Список литературы

UPDATE 1: Исправлен код xelatex
UPDATE 2: Исправлен перевод на предложенный в комментариях

Источник

LaTeX + диплом

Продолжаем тему LaTeX + диплом.

Ставим задачу

Исходные условия:
Компьютер Acer Aspire One. Очень удачная машинка для студента, надо заметить. Нетбуки в Европе так и называют — студенческие компьютеры.
Операционная система — Linpus (читай Fedora 8).
Система верски — Latex в реализации teTex, ныне свернутая.

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

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

Установка

Сначала автор хотел установить TeXLive, но это не получилось. Почему-то не запустился инсталлятор, а поскольку в perl’е автор не силен, желания разбираться не было никакого. Из пакетов с помощью yum был установлен teTeX.

Надо отметить, что процесс этот проходил не быстро, благо GPRS-интернет от Мегафон — удовольствие не быстрое (это не камень в огород Мегафона, а констотация факта. GPRS-интернет медленный!)

После этого из CTAN (www.ctan.org) были установлены пакеты disser и связанные с ним. Как определялись пакеты, которые надо установить? Экспериментальным путем.
В теле документа thesis.tex пишется \usepackage<какой_то_пакет>, затем дается команда

и проверяется наличие ошибки вида «не найден какой_то_пакет.sty». Если такая ошибка есть, то этот пакет скачивался из интернета, инсталлировался (с обязательным выполнением команды sudo texhash ) и процесс повторялся. Надо сказать, что автор установил довольно много пакетов, прежде чем понять, что же ему надо и на чем можно остановиться, поэтому намеренно не привожу перечень пакетов, которые были установлены.

Про среду следует сказать отдельно.

В документации к пакету disser приводятся примеры разных работ — кандидатской, докторской и магистерской диссертаций, а также работа бакалавра. Содержатся они в каталоге templates. Если бы было право на запись, то можно было бы прямо в каталоге, например, bachelor выполнить make и получить на выходе dvi-файл.

Но поскольку права на запись нет, примеры были скопированы в каталог

/Documents и работа велась там.

В Makefile были внесены изменения (был прописан абсолютный путь в директиве include), чтобы уже в копии можно было выполнять make.

Далее начался собственно процесс верстки.

Сборка диплома

Текст изначально планировался к набору в кодировке utf-8, но позже выяснилось, что BiBTeX не умеет обрабатывать библиотечные файлы в этой кодировке, а совместить две кодировки в одном проекте не получается. Может это и возможно, но дешевле оказалось весь проект верстать в cp1251.

Набор текста производился в редакторе geany, от которого требовалась только подсветка синтаксиса и умение работать в кодировке cp1251. Немаловажным фактом оказалась и возможность работать в режиме полного экрана (отключены все элементы интерфейса, кроме строки меню), поскольку экран компьютера маленький.

Пакет disser предполагает разбиение документа на небольшие, логически связанные порции. Так, введение и заключение находятся в отдельных файлах, intro.tex и concl.tex соответственно. Главы находятся в файлах 1.tex, 2.tex, 3.tex и т.д. Приложения в файлах app-1.tex, app-2.tex и т.д.

Сборка документа производится путем указания в файле thesis.tex (основной документ) следующих строк между \begin и \end:

Оглавление, по требованиям, находится в начале документа и начинается со страницы 2. Титульный лист для дипломной работы выдавался (печатался отдельно), поэтому никакой необходимости его верстать и включать в документ не было. Для отключения титульного листа в заголовке документа было указывается notitlepage, т.е.

где многоточием заменены другие опции.

Размер листа устанавливается пакетом geometry:

\usepackage[
a4paper, includefoot,
left=3cm, right=1cm, top=2cm, bottom=1.5cm,
headsep=1cm, footskip=1cm
]

Настройка заголовков

Надо отметить, что в пакете disser очень грамотно произведена настройка элементов текста, т.е. названий глав, секций, подсекций и т.д.

Например, для оформления названия главы имеются следующие команды:

\thechapteralign
\thechapterfont
\prethechapter
\postthechapter
\chapteralign
\chapterfont
\beforechapter
\afterchapter

Команды определяют оформление разных частей заголовка: \thechapteralign — выключку номера, \thechapterfont — шрифт номера, \prethechapter — текст до номера, \postthechapter — текст после номера, \chapteralign — выключку текста заголовка, \chapterfont — шрифт текста заголовка, \beforechapter — отступ до заголовка, \afterchapter — отступ после заголовка.

Такая же серия команд есть и для оформления заголовка в оглавлении.

Подобная настройка произведена для каждого уровня заголовков. Подробности — в файле disser.pdf.

Такое разбиение позволяет сделать, например, такой заголовок:

Глава 1.
Анализ текущего состояния

и указать разное оформление для номера и для текста заголовка.

В итоге, для диплома в преамбуле документа появились такие команды (показана только настройка главы):

> % ставим точку и пробел после номер
\renewcommand<\chapterfont> <\normalsize\bfseries>% шрифт текста заголовка
\renewcommand<\tocprethechapter><> % в оглавлении убираем слово «Глава»

Перекомпилируем и получаем правильно оформленные заголовки главы.

Другие заголовки

По умолчанию все заголовки в пакете disser набираются более крупным шрифтом, нежели основной текст. По требованиям же заголовки должны набираться тем же кеглем, что и основной текст (12), полужирного начертания.

Поэтому в преамбулу вписываем:

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

Для этого в преамбулу включаем команды (основной текст имеет отступ 1 см)

Отступ от заголовка до текста должен быть не менее 6 пунктов:

Поскольку в дипломе было много мест, где подряд шли несколько заголовков разного уровня, автор пошел на некоторое нарушение в угоду визуальной составляющей и уменьшил размер отступа для заголовков третьего уровня до трех пунктов:

Текст заголовков

По требованиям заголовки набираются заглавными буквами. Исправить это оказалось довольно просто. В преамбуле указываем

По каким-то причинам «ОГЛАВЛЕНИЕ» и «БИБЛИОГРАФИЧЕСКИЙ СПИСОК» пришлось вставлять в тело документа, причем последнее — непосредственно перед библиографией.

Нумерация

Диплом по требованиям начинается с титульной страницы, после которой идет оглавление. Оглавление печатается на странице 2 и далее. Делается это с помощью команды

непосредственно перед \tableofcontents.

Приложения нумеруются с цифры 1. По умолчанию пакет disser предлагает нумерацию приложений с буквы «А» (кириллица). Для изменения формата номера в преамбуле пишется команда

\renewcommand<\theappendix><\arabic> % заменяем нумерацию приложений на цифры

Кроме того, текст «ПРИЛОЖЕНИЕ 1» выключается вправо. Делается это командой

в преамбуле. Команда \hfill заполняет все свободное пространство строки, «раздавливая» то, что стоит до и после нее в разные стороны строки.

Оглавление

В оглавление должны включаться заголовки всех уровней. По умолчанию пакет disser включает в оглавление только главы и секции. Подсекции — не включаются.

Чтобы исправить, в преамбулу добавляем команду

В случае с дипломом автора этого оказалось достаточно, поскольку заголовки ниже subsection не использовались. Если это будет не так, то нужно указать 3 или даже 4 в команде выше.

Команды разбиения текста (chapter, section и пр.) имеют необязательный параметр, позволяющий указать текст, который будет включен в оглавление. Это удобно использовать для переноса строк в случае длинных заголовков. Команда

позволяет по-разному оформить заголовок в тексте и в оглавлении.

Приложения в оглавления начинаются со слова «ПРИЛОЖЕНИЯ», которое ссылается на ту же страницу, что и первое приложение, т.е.

ПРИЛОЖЕНИЯ. 51
ПРИЛОЖЕНИЕ 1. Сводная таблица. 51

Делается это просто. В тексте первого приложения (в файле app-1.tex) в начало добавляются две команды:

\clearpage нужно для того, чтобы команды \addcontentsline и \chapter попали на одну страницу.

Библиографический список

Пакет disser для формирования библиографии использует команду bibtex8. В поставке teTeX этой команды нет, во всяком случае в тех репозиториях, которые подключены по умолчанию.

Поэтому автор скачал исходный код утилиты и собрал ее самостоятельно, после чего поместил ее в каталог /usr/bin рядом с утилитой bibtex, а в каталог с дипломом поместил файл gost705.bst, используемый пакетом disser.

Шрифт Times New Roman/12 pt

Нормоконтроллер не пропустил шрифт cm-super, используемый по умолчанию. Поэтому пришлось подключить пакет PsCyr для того, чтобы текст верстался именно Times New Roman. Мне этот шрифт категорически не нравится, но это формальность, так что пришлось сделать как указано.

По каким-то причинам при указании опции 12pt в \documentclass Latex отказался менять размер шрифта. Пришлось последовательно (с пересборкой диплома) указать шрифт 8pt, 9pt, 11pt и затем 12pt. После этого шрифт стал нужного размера.

Заключительные положения

Следует отметить, что на все эксперименты и настройку суммарно ушло около 3 дней. Это с учетом того, что знание Latex у автора до этого было довольно поверхностное.

Основную информацию автор почерпнул из книг К. В. Воронцова «Latex2e в примерах», С.М. Львовского «Набор и вёрстка в системе Latex» и, конечно, документации пакета disser, какой бы скудной она ни была.

Преимущества Latex для работ подобного плана огромны — ссылочный аппарат позволяет не заботиться о том, в каком порядке идут приложения, элементы библиографического списка, таблицы, рисунки и проч.; работа ведется с простыми текстовыми файлами, поэтому потеря форматирования из-за проблем внутри MS Word/OO Writer невозможна в принципе; высокое полиграфическое качество; совершено прозрачная работа с математикой.

Проблемы, конечно, тоже есть, но они нивелируются достоинствами: сложности с форматированием длинных таблиц, сложная работа с рисунками, особенно крупноформатными; не всегда очевидные способы борьбы с проблемными местами в тексте (висячие строки, слова, overfull, underfull) и т.д. В целом, для качественной работы в Latex нужно несколько больше знаний в полиграфии и программировании, чем при простой верстке в Word/Writer. Но оно того стоит.

Рыба текста главного файла диплома с использованием пакета disser:
\documentclass[bachelor,subf,12pt,notitlepage]
\usepackage\usepackage[
a4paper, mag=1000, includefoot,
left=3cm, right=1cm, top=2cm, bottom=1.5cm, headsep=1cm, footskip=1cm
]

\usepackage[T2A]
\usepackage[cp1251]
\usepackage[english,russian]
\usepackage
\usepackage

> % Меняем регистр слова «Приложение»
\renewcommand <\tocpretheappendix>

Источник

Пишем презентации в LaTeX

В процессе подготовки доклада на GolangConf’2019 я использовал LaTeX. Несмотря на некоторые устаревшие вещи, немного необычное поведение, скудную или сложную документацию, я внезапно получил удовольствие. Я не стал «гуру» LaTeX, но я смог делать весьма неплохие слайды. И я хочу описать основные точки создания современной презентации на LaTeХ. Особенно это должно «зайти» айтишникам, которые по роду занятий программируют. Программировать свою презентацию — это увлекательно.

Почему LaTeX:

Почему НЕ LaTeX:

Начнем с установки

Практически, сейчас существует один лидирующий дистрибутив утилит LaTeX/TeX, который поглотил все остальные — TexLive. Выпуски там нумеруются по годам. Не надо ставить археологические версии ранее 2018 года. Так что почти всем пользователям Ubuntu сразу сюда. Для «маководов» есть отдельный набор. Или можно использовать универсальный установщик, в том числе и для Windows.

Пользователи CentOS должны страдать.

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

Дистрибутив TexLive увесистый, занимает до 5Gb. Ставить надо texlive-full или подобный пакет (название может разниться от дистрибутива к дистрибутиву).

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

Немного о LaTeX

Это не пошаговое руководство, как начать работать в LaTeX. Мы поверхностно посмотрим, как сделать презентацию, а по пути вы сами воспользуетесь Google. Но базовые отсылки я буду делать. Также обратите внимание на викикнигу.

Так будет выглядеть простейшая презентация с использованием пакета beamer — именно он отвечает за презентации:

Поехали

А вот так выглядит готовая презентация, которую я сделал на GolangConf2019. Вокруг неё мы и будем крутиться.

Первое, что вы должны сделать, это забыть как страшный сон все отсылки к шрифтам TeX. Дональд Кнут начал разрабатывать систему шрифтов METAFONT в 1977 году, а в 1979 представил её. Это было ОЧЕНЬ круто на то время. Но на дворе 2019 год, тащить в сегодня стандарты наименований файлов 8+3 и специальные растровые шрифты можно только в минуты скуки. Все современные системы работают с современными векторными шрифтами. Утилиты TexLive имеют в своём составе новый компилятор документов — xelatex. Он полностью совместим с pdflatex, но работает с системными шрифтами. Всё что нужно дополнительно сделать, это подгрузить пакет fontspec или xltxtra (он подгружает fontspec) и задать шрифты:

Темы оформления

Есть, кстати, чудесное руководство по созданию простейшей темы оформления презентации. Я сделал 3 темы на ближайшие конференции Олега Бунина, одну для себя, две — для иллюстрации к этой статье: раз, два и три.

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

Оверлей

Оверлей — это когда у вас информация постепенно появляется на одном и том же слайде. Вот например:

Сначала появится первая строка, затем вторая и третья, а затем четвертая. Заодно мы увидели, как сделать ненумерованный список. Систему оверлеев можно прикрутить практически к чему угодно. Я, например, делал так подсветку строк кода (рассмотрим ниже).

Обратите внимание на строки в моих шаблонах:

Закомментируйте строки (для комментариев используйте символ «%») и посмотрите, что будет. Не тот цвет, синие треугольнички и вот это вот всё.

Не нашел куда это определить. beamer предоставляет возможность несколько раз использовать один и тот же слайд. Это вот прямо очень круто:

Картинки

Возьмем пример из моей презентации. Две колонки, слева ненумерованный список, справа — картинка:

Параметр [T,onlytextwidth] говорит о том, что вертикальное выравнивание производится по базовой линии строк вверх, а блок колонок имеют ширину равной ширине фрейма для текста. LaTeX сам сожмет картинку как надо. Можете создать свой пример и поиграться параметрами, чтобы увидеть, как и что будет перекрываться.

Листинг кода

Сразу оговорюсь, что подсветка синтаксиса в листинге кода в презентации не нужна. Если она там вам нужна — вы что-то делаете не так. Больше нужны выделения. Я использую стандартный пакет listings, который умеет подсветку синтаксиса, и не умеет выделений. Вы можете посмотреть настройки оформления блока листинга в любом из моих примеров:

Для выделения фона я пользуюсь пакетом lstlinebgrd, который «заброшен». Приходится вставлять исправляющий код. А вот этот дополнительный код даёт мне команду \btLstHL, которая позволяет подсвечивать строки в оверлее:

Библиография

Для простоты и универсальности я использую пакет biblatex. Вот тут есть сложность. Пакет beamer перекрывает часть умолчаний biblatex. Вот эти команды убирают иконки и задают фонт библиографии:

Надо помнить важный момент — библиография задаётся в отдельном файле. В примерах в шаблонах я пишу библиографию в основном тексте с помощью пакета filecontents, который в свою очередь создаёт нужный реальный файл. И компиляция происходит в ЧЕТЫРЕ шага. Сначала просто xelatex компилирует файл и создаёт вспомогательные файлы. Затем утилита biber компилирует файл библиографии, затем надо ещё дважды прогнать xelatex. Да, с препроцессорами там всё сложно.

Пакет biblatex тоже настраивается. Но на первое время хватит того, что есть у меня в примерах.

Послесловие

Я получил удовольствие и от подготовки презентации, и от подготовки материалов к этой статье. Я надеюсь, если кто-то хотел, но не мог решиться начать использовать LaTeX в своей работе — я сломал этот барьер. Конечно, я не сделал пакетов, я не копал в глубину, я не упомянул важные темы рисования. Но я думаю, что это уже всё придёт, как только вы начнете пользоваться инструментом. Неплохие практические статьи есть и на Хабре по тегу #latex.

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

Источник

LaTeX для новичков. Введение.

Гуманитариям тоже будет полезно. Им стоит заглянуть в самый конец поста.

-Готовый результат можно увидеть только после сборки.

-Набранный текст в LaTeX есть полноценный программный код. Во время обучения будет очень тяжело найти ошибку.

-Количество людей которые умеют использовать LaTeX в СНГ невелико. Концентрация может меняться от 0 (в школах и гуманитарных факультетах) до обязательного использования всеми студентами (продвинутые кафедры физических и математических факультетов).

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

-Требуется потратить от недели до нескольких месяцев на обучение.

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

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

+Возможности. Нельзя сказать что кто-то знает все возможности LaTeX, за 30 лет для него написано множество пакетов, которые охватывают всё что может только придти в голову при написании работ. Для примера можно привести наличие встроенной системы рисования и черчения, не просто не уступающих аналогам в MS Office, но и на порядки их превосходящих. (Ниже приведен для примера малый фрагмент схемы из курсовой работы автора. Следует обратить внимание на формулы и общую дзен-простоту оформления по ГОСТ)

+Системные требования. LaTeX работает на всём что шевелится. При сборке потребление может достигать 200 Мб оперативной памяти. Также продвинутый редактор может потреблять 300 мегабайт памяти при нескольких открытых проектах.

+Кроссплатформенность и облачность. LaTeX работает на всех актуальных и не очень операционных системах, начиная с Win 95/98. Также, поскольку LaTeX предполагает раздельное написание и сборку проектов, он идеально подходит для облачных технологий. Вы можете редактировать проекты даже с калькуляторов (лишь бы они могли открывать текстовые файлы). Для всех актуальных мобильных платформ есть клиенты для облачных сервисов.

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

+Формулы это тоже текст. Не требуется калечить себе голову пытаясь накликать пятиэтажную формулу в MS Office, который еще и не факт что умеет подобное. Сложность формул в LaTeX НЕ ограничена. Экспорт формул в TeX’овскую нотацию умеет каждая уважающая себя система компьютерной алгебры. Нотация простая и легко запоминается при наличии минимальных знаний английского.

+Стабильность. Сколько раз у Вас падал Ворд погребя за собой часы работы? Битые файлы Ворда уже давно не новость. Поскольку LaTeX имеет в основе простой текст, исходники проекта не могут неисправимо побиться.

+На выходе PDF. Правильный PDF, со встроенными файлами картинок, векторным текстом. Распечатается везде и всюду, как надо. Можно забыть об «ой, у нас ворд 2010 а у вас 2007, у вас все номера сползли».

+Разметка. При оформлении в LaTeX вы указываете структуру документа. Это позволяет абстрагироваться от внешнего вида документа и сосредоточиться на его содержании.

+Гибкость и автоматизация. В LaTeX есть стили, наборы настроек и подключенных пакетов которые оформят ваш набранный текст по требуемому ГОСТ, шаблону оформления статьи в журнале и т.д.

+Нумерация и система ссылок. Нумерация всех объектов пересчитывается при каждой пересборке, что позволяет поддержать их точность. Ссылки на объекты производятся по их индивидуальным меткам. Это весьма удобно, поскольку сослаться на объект «eq:to_dlinnoye_urye» гораздо проще чем на «3.13»

+Библиография. Со стилями. С поддержкой ГОСТ. Автоматически и по фен-шую.

+Редакторы. Поскольку LaTeX это простой текст, пользователь может найти редактор себе по вкусу и системным требованиям. Автор использует TeXstudio.

+Лицензия (в СНГ не слишком актуально, конечно). LaTeX является свободным ПО, соответственно бесплатен к использованию в любых целях и количествах.

+Совместная работа. Существует несколько облачных сервисов которые предлагают совместную работу без каких либо ограничений. Также, возможна совместная работа в offline, с использованием систем контроля версий (например git).

Источник

Операционные системы и программное обеспечение