LyX nimmt am Google Summer of Code teil – welche Projektideen könnten vorgeschlagen werden?

LyX nimmt am Google Summer of Code teil – welche Projektideen könnten vorgeschlagen werden?

Dieses Jahr,LyX nimmt am Google Summer of Code teil. Dies ist eine großartige Gelegenheit, Verbesserungen und neue Funktionen zu implementieren. Ich schätze, dass LyX den Einstieg in die TeX- und LaTeX-Welt erleichtert. Ich bin sicher, dass viele LaTeX-Benutzer damit angefangen haben. Und natürlich verwenden viele LaTeX-Freunde LyX zum schnellen Schreiben.

Diese Frage richtet sich also sowohl an LyX- als auch an LaTeX-Benutzer, die an der Unterstützung der GUI-Methode von TeX und LaTeX interessiert sind:

Welche Verbesserungen würden Sie für das LyX-Projekt vorschlagen?

Welche Features vermisst ihr, was würdet ihr als Projektidee vorschlagen? Wir werden dafür sorgen, dass die Ideen im LyX-Projekt hier berücksichtigt werden.

Nachtrag (hinzugefügt von Charles)

Das LyX-Team hat eine Seite mit seinen Projektvorschlägen eingerichtet unterLyX 2013 Sommer der Code-Ideen. Die Frist (3. Mai) ist abgelaufen.

Antwort1

Ich weiß, dass es bereits viele LaTeX-Online-Compiler gibt. Einmal dachte ich, es wäre toll, einen Online-LyX-Editor zu haben, damit ich nicht eine ganze TeX-Distribution und die LyX-Software auf meinem Computer installieren muss. Aber ich weiß, dass es eine Herausforderung wäre, eine vollständige GUI ins Web zu portieren. Mein Vorschlag wäre also:

Das LyX-Programm wird in die Lage versetzt, Online-LaTeX-Compiler zu verwenden.

Dies bedeutet, dass eine API und nutzbare Verbindungen zu vorhandenen Online-Diensten vorhanden sein müssen. Ich bin sicher, dass die Anbieter solcher Dienste dies unterstützen würden. Ein Benutzer könnte also einfach LyX installieren und von der neuesten TeX-Version profitieren, ohne es installieren zu müssen – schlanke, aber leistungsfähige und aktuelle Installationen wären möglich.

Es könnten Dateispeicherdienste wie Dropbox angebunden werden, der Speicher eines Online-Kompilierungsdienstes genutzt werden oder Dateien könnten einfach bei jedem Kompilieren hochgeladen werden – LaTeX-Dateien sind klein und komprimierte Uploads oder Synchronisierungen wären schnell.

Antwort2

Vereinfachung und Erweiterung der Modulunterstützung

Motivation: „LyX kann kaum alle LaTeX-Pakete unterstützen“. Beispielsweise möchten Benutzer die folgenden LaTeX-Pakete verwenden, haben aber derzeit keine native Unterstützung in LyX: „mdframe“ (Neuen Absatzstil in LyX erstellen), "parallel" (Cornell Notes - Eine Lyx- oder Latex-Lösung erforderlich), „Glossare“, „Chapterbib“, ...

Daher kann LyX durch Module erweitert werden. Ein Benutzer kann ein solches Modul schreiben und es zum Nutzen anderer veröffentlichen. Dies sollteermutigterund Module solltenstärker.

Ziele:

  1. Machen Sie Module leistungsfähiger, indem Sie Konfigurationsoptionen für Module in der GUI einführen.
  2. Erweitern (bestimmter) „Style“-Konstrukte (definiert durch Module), sodass sie während der Verwendung durch einen GUI-Dialog konfiguriert werden können.
  3. Vereinfachen Sie die Auswahl und Installation von Modulen, sodass diese leichter zum Nutzen anderer Benutzer verteilt werden können.

Insgesamt würde dieses Projekt LaTeX besser in LyX integrieren und einfachere Beiträge der Community ermöglichen.


1. Konfigurationsoptionen des Moduls in der GUI

Es sollte möglich sein, dass ein Modul eineeigene Konfigurationsseiteunter „Dokumenteneinstellungen“. Eine solche „Konfigurationsseite“ sollte von den nativen „Konfigurationsseiten“ getrennt sein. Bestimmte Konfigurationseinstellungen in der Moduldatei (noch einzuführen) sollten von LyX auf einer solchen Konfigurationsseite angezeigt werden.Grafische Elemente wie Kontrollkästchen oder Elemente einer Dropdown-Liste sollten automatisch in LaTeX-Codeblöcke abgebildet werden. Außerdem sollte es Anfangs- (Pre-)Codeblöcke und End- (Post-)Codeblöcke geben. So könnte die Konfiguration von „Theorem“ in Zukunft mit diesem Projekt aussehen. Dies würde die Reihe der vorhandenen „Theorem“-Module durch nur eines ersetzen:

Konfiguration von Theoremen

Ein guter Kandidat für einen Blick könnte die Seite „PDF-Eigenschaften“ sein, die die Einstellungen des „Hyperref“-Pakets übersetzt. Dieses Paket ist wichtig, wird aber nicht immer verwendet. Wenn dieses Projekt realisiert würde, könnte man daher entscheiden, ob das „PDF-Eigenschaften“-/„Hyperref“-Paket als Modul bereitgestellt werden soll – anstatt „Hyperref-Unterstützung verwenden“ auszuwählen, würde man es als Modul aktivieren.

2. Erweiterung von „Style“-Konstrukten mit GUI-Dialog

Mitähnliche Techniken wie für die Konfigurationsseite von Modulen, sollte es möglich sein, dass „Style“-Konstrukte (insbesondere, wenn „LatexType“ auf „Command“ oder „Environment“ eingestellt ist) Konfigurationsoptionen haben (über das Kontextmenü).

LaTeX-Befehle oder Umgebungen mit mehreren Argumenten werden derzeit nicht unterstützt (siehe auchParameterisierte Umgebungen in Lyx). Ein Beispiel, das hilfreich sein könnte, ist die „Minipage“-Umgebung. Sie wird von LyX nativ unterstützt, kann aber derzeit nicht von einem Modul unterstützt werden. Außerdem sollte es irgendwie möglich sein, dass ein „Stil“ eines Moduls in Menüs eingebunden wird (ein Beispiel finden Sie wiederum unter „Einfügen > Box > ...“).

3. Auswahl und Installation von Modulen

Verbessern Sie die Seite "Module" der "Dokumenteinstellungen". Machen Sie im Grunde eineListe mit folgenden Spalten(einige Felder mussten in den Moduldateien eingeführt werden): "Verwendet (Position)" zeigt an, ob das Modul aktiv ist (und wenn ja, dann die Position unter den aktiven Modulen); "Modulname"; "Kategorie": "alle" oder eine Kombination aus "LaTeX", "HTML", ... (also unterstützte Ausgabeformate von LyX); "Version/Veröffentlichungsdatum". Für ein ausgewähltes Modul sollten die Beschreibung, das/die erforderliche(n) Modul(e), das/die ausgeschlossene(n) Modul(e) und der Speicherort (Dateiname) ähnlich wie in der folgenden Abbildung angezeigt werden...

Module laden

Man sollte über die Möglichkeit nachdenken,automatischer Downloadvon neuen Modulen von einer Site wiehttp://wiki.lyx.org/Layouts/Modules(geht ein bisschen in die Richtung CTAN oder CRAN oder ...; siehe auchdiese Frage). Außerdem sollte man die Lizenz eines Moduls klar angeben und erwägen, einen Status über Module auf der Website einzuführen (Qualität/Bewertung des Moduls, am häufigsten heruntergeladen). Schließlich noch ein wenigModuldokumentationsollte obligatorisch werden, wie es für LaTeX-Pakete der Fall ist!

Antwort3

Etwas, das relativ einfach zu tun ist, derzeit aber nicht möglich ist und das bei der gemeinsamen Bearbeitung von Latex-Dokumenten sehr nützlich wäre: Schreiben Sie einen Latex-Highlighter, der jedes Latex-Dokument in ein Lyx-Dokument umwandelt, dessen Inhalt dem Originaldokument entspricht, mit den erforderlichen Hervorhebungen und soweit die Analyse dies zulässt. Wenn dies durch einige zusätzliche Funktionen in der LyX-Benutzeroberfläche unterstützt würde, könnten wir Lyx als Latex-IDE verwenden (vgl.Kann ich mir LyX als eine LaTeX-IDE vorstellen?).

Textmarker

Dies könnte als Befehlszeilenprogramm implementiert werden, beispielsweise als eines, das beim Aufruf eine hervorgehobene Datei aus der Quelle lyx-highlighter somedocerstellt .somedoc.lyxsomedoc.tex

UI-Modell

Der Textmarker sollte die ersten beiden der folgenden Eigenschaften sicherstellen und möglichst viele der anderen erfüllen:

  1. Stellen Sie sicher, dass der gesamte Latex-Quellcode in der Ausgabe Zeichen für Zeichen dargestellt wird, auch wenn der tex2lyxParser fehlschlägt.
  2. Stellen Sie sicher, dass sich Textinhalte leicht von Latex-Markups unterscheiden lassen, sofern der tex2lyxParser dies zulässt. In den Kapitelüberschriften beispielsweise würden die \chapter{und }-Markups zwar dieselbe Größe wie der Kapitelname haben, aber in einer anderen Farbe hervorgehoben, um ihren Status im Text deutlich zu machen (siehe Beispiel-Screenshot oben);
  3. Stellen Sie Kapitel-/Abschnittsüberschriften als Lyx-Kapitel/-Abschnitte dar;
  4. Geben Sie Titel/Autor/Datum in der Präambel an; und
  5. Ich denke, es ist nicht ganz einfach, beliebige Latex-Farben in Lyx darzustellen, und der UI-Aspekt ist schwierig (Konflikt mit dem zweiten Punkt), aber es wäre schön, wenn Latex-Farbmakros auf intuitive Weise angezeigt werden könnten.
  6. Unterstützung für latexdiffoder ähnliche Änderungsmarkierungsmarkierungen.

LaTeX IDE

Mit einem solchen Textmarker könnte Lyx als ein mit Kile oder Texshop vergleichbarer Latex-Quellcode-Editor verwendet werden, indem es neben seiner bestehenden Rolle als WYSIWYM-Editor auch seine Funktionen wie die Änderungsverfolgung in diese neue Rolle einbringt.

Dies könnte durch zusätzliche Änderungen an der Hauptanwendung von Lyx unterstützt werden: Diese markierten Dateien könnten speziell behandelt werden und neue spezialisierte Menüelemente bieten, um Aufgaben wie das Kompilieren der Quelle (die sich von der Lyx-Datei unterscheidet) oder das erneute Parsen von Latex (könnte dies nur in einem Abschnitt erfolgen?) nach vorgenommenen Änderungen zu unterstützen.

Durch die Implementierung eines solchen Textmarkers würde der SoC-Programmierer mit der Funktionsweise des tex2lyx-Parsers und der internen Textdarstellung von Lyx vertraut gemacht. Dies könnte ein gutes „erstes Ergebnis“ im Rahmen eines ehrgeizigeren Lyx-Projekts sein.

Antwort4

Obwohl LyX mit seiner WYSIWYM-Philosophie (What You See Is What You Mean) eine viel bessere visuelle Rückmeldung der Dokumentstruktur bietet als reines LaTeX, kommt es doch nicht an WYSIWYG heran. Was ich in LyX wirklich vermisse, ist ein kontinuierlicher Kompilierungsmodus, sodass das PDF während der Bearbeitung aktualisiert wird. Mein Vorschlag ist also:

Implementieren Sie einen kontinuierlichen Hintergrundkompilierungsmodus für LyX

verwandte Informationen