В этом году,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 может быть расширен модулями. Пользователь может написать такой модуль и опубликовать его для пользы других. Это должно бытьболее воодушевленными модули должны быть сделаныболее могущественный.
Цели:
- Сделайте модули более мощными, добавив параметры конфигурации модулей в графический интерфейс.
- Расширение (некоторых) конструкций «Стиля» (определяемых модулями) таким образом, чтобы их можно было настраивать во время использования с помощью диалогового окна графического интерфейса.
- Упростите выбор и установку модулей, чтобы их можно было легче распространять в интересах других пользователей.
В целом этот проект позволит лучше интегрировать 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
исходного кода.
Текстурный маркер должен обеспечивать первые два из следующих свойств и удовлетворять как можно большему количеству остальных:
- Гарантировать, что все исходные данные Latex будут представлены символ в символ на выходе, даже если
tex2lyx
анализатор дает сбой; - Убедитесь, что, где
tex2lyx
позволяет парсер, текстовое содержимое легко отличить от разметки Latex. Например, в заголовках глав, хотя разметка\chapter{
и}
будет того же размера, что и название главы, они будут выделены другим цветом, чтобы сделать их статус в тексте понятным (см. пример фиктивного снимка экрана выше); - Представлять заголовки глав/разделов в виде глав/разделов Lyx;
- Укажите название/автора/дату в преамбуле; и
- Я думаю, что в Lyx не так просто отображать произвольные цвета Latex, а аспект пользовательского интерфейса сложен (противоречит второму пункту), но было бы неплохо, если бы макросы цветов Latex можно было отображать интуитивно понятным образом.
- Поддержка
latexdiff
или аналогичная разметка маркировки изменений.
LaTeX-IDE-среда разработки
С таким маркером Lyx можно использовать в качестве редактора исходного кода Latex, в некоторой степени сопоставимого с Kile или Texshop, а также выполняющего свою текущую роль редактора WYSIWYM и переносящего свои функции, такие как отслеживание изменений, в эту новую роль.
Дополнительные изменения в основном приложении Lyx могли бы поддержать это: эти размеченные файлы могли бы обрабатываться особым образом и предлагать новые специализированные пункты меню для поддержки таких задач, как компиляция исходного кода (который отличается от файла Lyx) или повторный анализ Latex (можно ли это сделать только в разделе?) после внесения изменений.
Реализация такого маркера познакомит кодера SoC с тем, как работает парсер tex2lyx и как Lyx представляет текст внутри. Это может быть хорошим "первым результатом" в рамках более амбициозного проекта Lyx.
решение4
Хотя LyX и предоставляет с его философией WYSIWYM (то, что видишь, то и имеешь в виду) гораздо более наглядную обратную связь по структуре документа, чем обычный LaTeX, это совсем не похоже на WYSIWYG. Чего мне действительно не хватает в LyX, так это режима непрерывной компиляции, чтобы PDF обновлялся во время редактирования. Поэтому мое предложение:
Реализовать режим непрерывной фоновой компиляции для LyX