LyX участвует в Google Summer of Code — какие идеи проектов можно предложить?

LyX участвует в Google Summer of Code — какие идеи проектов можно предложить?

В этом году,LyX принимает участие в Google Summer of Code. Это прекрасная возможность для внедрения улучшений и новых функций. Я ценю, что LyX облегчает вхождение в мир TeX и LaTeX, я уверен, что есть много пользователей LaTeX, которые начинали с него. И, конечно, многие друзья LaTeX используют LyX для быстрого письма.

Итак, этот вопрос адресован как пользователям LyX, так и пользователям LaTeX, которые заинтересованы в поддержке графического интерфейса TeX и LaTeX:

Какие улучшения вы бы предложили для проекта LyX?

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

Постскриптум (добавлено Чарльзом)

Команда LyX разместила страницу со своими проектными предложениями на сайтеLyX 2013 Лето Кодовых Идей. Крайний срок (3 мая) прошел.

решение1

Я знаю, что уже есть много онлайн-компиляторов LaTeX. Когда-то я думал, что было бы здорово иметь онлайн-редактор LyX, чтобы мне не нужно было устанавливать целый дистрибутив TeX и программное обеспечение LyX на свой компьютер. Но я знаю, что будет сложно перенести полный GUI в веб. Поэтому я бы предложил:

Обеспечение возможности использования программой LyX онлайн-компиляторов LaTeX.

Это означает наличие API и пригодных для использования подключений к существующим онлайн-сервисам. Я уверен, что поставщики таких сервисов будут поддерживать это. Таким образом, пользователь может просто установить LyX и воспользоваться новейшей версией TeX без ее установки — будут возможны тонкие, но эффективные и современные установки.

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

решение2

Упрощение и расширение поддержки модулей

Мотивация: "LyX вряд ли может поддерживать все пакеты LaTeX". Например, пользователи хотят использовать следующие пакеты LaTeX, но на данный момент у них нет собственной поддержки в LyX: "mdframe" (Создать новый стиль абзаца в LyX), "параллельный" (Заметки Корнелла - необходим раствор ликса или латекса), "глоссарии", "chapterbib", ...

Поэтому LyX может быть расширен модулями. Пользователь может написать такой модуль и опубликовать его для пользы других. Это должно бытьболее воодушевленными модули должны быть сделаныболее могущественный.

Цели:

  1. Сделайте модули более мощными, добавив параметры конфигурации модулей в графический интерфейс.
  2. Расширение (некоторых) конструкций «Стиля» (определяемых модулями) таким образом, чтобы их можно было настраивать во время использования с помощью диалогового окна графического интерфейса.
  3. Упростите выбор и установку модулей, чтобы их можно было легче распространять в интересах других пользователей.

В целом этот проект позволит лучше интегрировать LaTeX в LyX и упростит внесение вклада в развитие сообщества.


1. Параметры конфигурации модуля в графическом интерфейсе

Должно быть возможно, что модуль может зарегистрироватьсобственная страница конфигурациив разделе «Настройки документов». Такая «страница конфигурации» должна быть отделена от собственных «страниц конфигурации». Определенные настройки конфигурации в файле модуля (которые будут введены) должны отображаться LyX на такой странице конфигурации.Графические элементы, такие как флажки или элементы раскрывающегося списка, должны автоматически сопоставляться с блоками кода LaTeX.. Кроме того, должны быть начальные (пред-) блоки кода и конечные (пост-) блоки кода. Вот как может выглядеть конфигурация "теоремы" в будущем с использованием этого проекта. Это заменит кучу существующих модулей "теоремы" только одним:

конфигурация теорем

Хорошим кандидатом для рассмотрения может быть страница "Свойства PDF", которая транслируется в настройки пакета "hyperref". Этот пакет важен, но не всегда используется. Следовательно, если бы этот проект был реализован, можно было бы решить, следует ли предоставлять пакет "Свойства PDF" / "hyperref" как модуль - вместо выбора "Использовать поддержку Hyperref" можно было бы активировать его как модуль.

2. Расширение конструкций «Стиля» с помощью диалогового окна графического интерфейса пользователя

Саналогичные методы, как и для страницы конфигурации модулей, то должно быть возможно, что конструкции «Стиль» (особенно, когда «LatexType» установлен на «Команда» или «Среда») имеют параметры конфигурации (через контекстное меню).

В настоящий момент команды LaTeX или среды с несколькими аргументами не поддерживаются (см. такжеПараметризованные среды в Lyx). Примером, который может быть полезен для изучения, является среда "minipage". Она поддерживается LyX изначально, но не может поддерживаться модулем в данный момент. Кроме того, должно быть возможно каким-то образом встроить "Style" модуля в меню (опять же, для примера см. "Insert > Box > ....").

3. Выбор и установка модулей

Улучшить страницу "Модули" в "Настройках документа". По сути, сделатьсписок со следующими столбцами(необходимо ввести некоторые поля в файлы модуля): "Используется (Позиция)" показывает, активен ли модуль (если да, то положение среди активных модулей); "Имя модуля"; "Категория": "все" или комбинация "LaTeX", "HTML", ... (т.е. поддерживаемые форматы вывода LyX); "Версия/Дата выпуска". Для выбранного модуля описание, требуемый модуль(и), исключенный модуль(и) и местоположение (имя файла) должны отображаться так, как показано на следующем рисунке...

загрузка модулей

Следует подумать о возможностиавтоматическая загрузкановых модулей с такого сайта какhttp://wiki.lyx.org/Layouts/Modules(немного уходим в сторону CTAN или CRAN или ...; см. такжеэтот вопрос). Кроме того, следует четко указать лицензию модуля и рассмотреть возможность введения некоторого статуса о модулях на веб-сайте (качество/рейтинг модуля, наиболее скачиваемый). Наконец, немногодокументация модулядолжно стать обязательным, как и для пакетов LaTeX!

решение3

Что-то довольно простое, что нельзя сделать сейчас и что было бы очень полезно при совместном редактировании документов Latex: написать маркер Latex, который берет любой документ Latex и превращает его в документ Lyx, содержимое которого является исходным документом, с выделением по мере необходимости и в той мере, в какой это позволяет парсинг. Если бы это поддерживалось некоторыми дополнительными функциями в пользовательском интерфейсе LyX, это позволило бы нам использовать Lyx в качестве IDE Latex (см.Могу ли я рассматривать LyX как среду разработки LaTeX?).

Маркер

Это можно реализовать в виде программы командной строки, например, такой, которая при вызове lyx-highlighter somedocсоздаст выделенный somedoc.lyxфайл из somedoc.texисходного кода.

Макет пользовательского интерфейса

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

  1. Гарантировать, что все исходные данные Latex будут представлены символ в символ на выходе, даже если tex2lyxанализатор дает сбой;
  2. Убедитесь, что, где tex2lyxпозволяет парсер, текстовое содержимое легко отличить от разметки Latex. Например, в заголовках глав, хотя разметка \chapter{и }будет того же размера, что и название главы, они будут выделены другим цветом, чтобы сделать их статус в тексте понятным (см. пример фиктивного снимка экрана выше);
  3. Представлять заголовки глав/разделов в виде глав/разделов Lyx;
  4. Укажите название/автора/дату в преамбуле; и
  5. Я думаю, что в Lyx не так просто отображать произвольные цвета Latex, а аспект пользовательского интерфейса сложен (противоречит второму пункту), но было бы неплохо, если бы макросы цветов Latex можно было отображать интуитивно понятным образом.
  6. Поддержка latexdiffили аналогичная разметка маркировки изменений.

LaTeX-IDE-среда разработки

С таким маркером Lyx можно использовать в качестве редактора исходного кода Latex, в некоторой степени сопоставимого с Kile или Texshop, а также выполняющего свою текущую роль редактора WYSIWYM и переносящего свои функции, такие как отслеживание изменений, в эту новую роль.

Дополнительные изменения в основном приложении Lyx могли бы поддержать это: эти размеченные файлы могли бы обрабатываться особым образом и предлагать новые специализированные пункты меню для поддержки таких задач, как компиляция исходного кода (который отличается от файла Lyx) или повторный анализ Latex (можно ли это сделать только в разделе?) после внесения изменений.

Реализация такого маркера познакомит кодера SoC с тем, как работает парсер tex2lyx и как Lyx представляет текст внутри. Это может быть хорошим "первым результатом" в рамках более амбициозного проекта Lyx.

решение4

Хотя LyX и предоставляет с его философией WYSIWYM (то, что видишь, то и имеешь в виду) гораздо более наглядную обратную связь по структуре документа, чем обычный LaTeX, это совсем не похоже на WYSIWYG. Чего мне действительно не хватает в LyX, так это режима непрерывной компиляции, чтобы PDF обновлялся во время редактирования. Поэтому мое предложение:

Реализовать режим непрерывной фоновой компиляции для LyX

Связанный контент