LyX は Google Summer of Code に参加しています。どのようなプロジェクトのアイデアを提案できますか?

LyX は Google Summer of Code に参加しています。どのようなプロジェクトのアイデアを提案できますか?

今年、LyXがGoogle Summer of Codeに参加これは、改善と新機能の実装を実現する絶好の機会です。LyX によって TeX と LaTeX の世界への参入が容易になったことは喜ばしいことです。LyX から始めた LaTeX ユーザーはたくさんいるはずです。そして、多くの LaTeX の友人が、迅速な執筆のために LyX を使用していることは間違いありません。

そこで、この質問は、TeX と LaTeX の GUI 方式のサポートに関心のある LyX と LaTeX の両方のユーザーに向けられたものです。

LyX プロジェクトにどのような改善を提案しますか?

つまり、どの機能が欠けているか、プロジェクトのアイデアとして何を提案するか、ということです。LyX プロジェクトがここでのアイデアを必ず確認するようにします。

追記(チャールズによる追加)

LyXチームはプロジェクト提案のページを開設しました。LyX 2013 サマー オブ コード アイデア締め切り(5月3日)は過ぎました。

答え1

LaTeX のオンライン コンパイラーはすでにたくさんあることは知っています。オンライン LyX エディターがあれば、TeX ディストリビューション全体と LyX ソフトウェアをコンピューターにインストールしなくても済むので、素晴らしいだろうと考えたことがあります。しかし、完全な GUI を Web に移植するのは困難であることはわかっています。そこで、私の提案は次のとおりです。

LyX プログラムをオンライン LaTeX コンパイラーを使用できるようにします。

これは、API と、既存のオンライン サービスへの使用可能な接続があることを意味します。そのようなサービスのベンダーは、これをサポートすると確信しています。そのため、ユーザーは LyX をインストールするだけで、TeX をインストールしなくても最新のバージョンを利用できます。つまり、スリムでありながら高性能で最新のインストールが可能になります。

Dropbox などのファイル ストレージ サービスに接続したり、オンライン コンパイル サービスのストレージを使用したり、コンパイルするたびにファイルをアップロードしたりすることもできます。LaTeX ファイルはサイズが小さいため、圧縮されたアップロードや同期は高速です。

答え2

モジュールサポートの簡素化と拡張

モチベーション: 「LyX はすべての LaTeX パッケージをサポートできるわけではありません」。たとえば、ユーザーは次の LaTeX パッケージを使用したいのですが、現時点では LyX ではネイティブ サポートされていません:「mdframe」(LyXで新しい段落スタイルを作成する)、 "平行" (コーネルノート - Lyx またはラテックス溶液が必要)、"用語集"、"章集"、...

したがって、LyXはモジュールによって拡張できます。ユーザーはそのようなモジュールを作成し、他の人のために公開することができます。これはもっと励まされるモジュールは作られるべきであるより強力な

目標:

  1. GUI でモジュールの構成オプションを導入することで、モジュールをより強力にします。
  2. (モジュールによって定義された) (特定の)「スタイル」構造を拡張して、GUI ダイアログで使用中に構成できるようにします。
  3. モジュールの選択とインストールを簡素化し、他のユーザーの利益のためにモジュールをより簡単に配布できるようにします。

全体として、このプロジェクトにより、LaTeX が LyX にさらに適切に統合され、コミュニティの貢献が容易になります。


1. GUIでのモジュールの設定オプション

モジュールは、独自の設定ページ「ドキュメント設定」の下にあります。このような「設定ページ」は、ネイティブの「設定ページ」とは分離する必要があります。モジュール ファイル (導入予定) 内の特定の設定は、LyX によってこのような設定ページに表示される必要があります。チェックボックスやドロップダウンリストの項目などのグラフィック要素は、LaTeXコードブロックに自動的にマッピングされる必要があります。さらに、開始 (前) コード ブロックと終了 (後) コード ブロックが必要です。このプロジェクトを使用した場合の「theorem」の構成は、次のようになります。これにより、既存の多数の「theorem」モジュールが 1 つに置き換えられます。

定理の構成

検討する価値のある候補としては、「hyperref」パッケージの設定に翻訳される「PDF プロパティ」ページが考えられます。このパッケージは重要ですが、常に使用されるわけではありません。したがって、このプロジェクトが実現した場合、「PDF プロパティ」/「hyperref」パッケージをモジュールとして提供するかどうかを決定できます。つまり、「Hyperref サポートを使用する」を選択する代わりに、モジュールとしてアクティブ化します。

2. GUIダイアログで「スタイル」構造を拡張する

モジュールの設定ページと同様の手法、"Style" 構造 (特に "LatexType" が "Command" または "Environment" に設定されている場合) に構成オプション (コンテキスト メニュー経由) を持たせることが可能です。

現時点では、複数の引数を持つLaTeXコマンドや環境はサポートされていません(Lyx のパラメータ化された環境)。学習に役立つ例として、「minipage」環境があります。これは LyX によってネイティブにサポートされていますが、現時点ではモジュールではサポートされていません。さらに、モジュールの「スタイル」を何らかの方法でメニューにフックできるはずです (ここでも、例として「挿入 > ボックス > ...」を参照してください)。

3. モジュールの選択とインストール

「ドキュメント設定」の「モジュール」ページを改良します。基本的には次の列を含むリスト(モジュール ファイルにいくつかのフィールドを導入する必要がありました): "使用済み(ポジション)「モジュールがアクティブかどうかを示します(アクティブの場合は、アクティブなモジュール間の位置を示します)」モジュール名";"カテゴリー": "全て「または「LaTeX」、「HTML」、...(つまり、LyX でサポートされている出力形式)の組み合わせ」バージョン/リリース日選択したモジュールについては、説明、必須モジュール、除外モジュール、および場所 (ファイル名) が次の図のように表示されます...

モジュールの読み込み

可能性について考えてみるべきだ自動ダウンロードのようなサイトからの新しいモジュールhttp://wiki.lyx.org/Layouts/モジュール(CTANやCRANなどの方向に少し進んでいます。この質問さらに、モジュールのライセンスを明確に記載し、ウェブサイト上でモジュールに関するステータス(モジュールの品質/評価、ダウンロード数など)を紹介することを検討する必要があります。最後に、モジュールドキュメントLaTeX パッケージの場合と同様に必須になるはずです。

答え3

現時点ではできないが、かなり簡単に実行でき、Latex ドキュメントの共同編集に非常に役立つもの: 任意の Latex ドキュメントを Lyx ドキュメントに変換する Latex ハイライト機能を作成し、そのコンテンツは元のドキュメントのままで、解析が許す限り適切にハイライト表示します。LyX ユーザー インターフェイスのいくつかの追加機能によってこれがサポートされていれば、Lyx を Latex IDE として使用できるようになります (cf.LyX を LaTeX IDE として考えることができますか?)。

蛍光ペン

これは、呼び出されるとソースからlyx-highlighter somedoc強調表示されたファイルを作成するようなコマンドライン プログラムとして実装できます。somedoc.lyxsomedoc.tex

UI モックアップ

蛍光ペンは、次の特性のうち最初の 2 つを満たし、他の特性も可能な限り満たす必要があります。

  1. パーサーが失敗した場合でも、すべての Latex ソースが出力で文字ごとに表現されることを確認しますtex2lyx
  2. パーサーが許可する場合はtex2lyx、テキスト コンテンツと Latex マークアップを簡単に区別できるようにします。たとえば、章の見出しでは、\chapter{}マークアップは章名と同じサイズになりますが、テキスト内でのステータスが明確になるように、異なる色で強調表示されます (上記の模擬スクリーンショットの例を参照)。
  3. 章/セクションの見出しを Lyx の章/セクションとして表します。
  4. 序文にタイトル/著者/日付を記載します。
  5. Lyx で任意の Latex カラーを表現するのは簡単ではないと思いますし、UI の側面も扱いにくいです (2 番目のポイントと矛盾します) が、Latex カラー マクロを直感的に表示できればよいと思います。
  6. latexdiffまたは同様の変更マークアップのサポート。

LaTeX IDE

このようなハイライターを使用すると、Lyx は、WYSIWYM エディターとしての既存の役割も実行し、変更追跡などの機能をこの新しい役割に持ち込むことで、Kile や Texshop に多少匹敵する Latex ソース エディターとして機能できるようになります。

メインの Lyx アプリケーションに追加の変更を加えることで、これをサポートできます。つまり、これらのマークアップされたファイルを特別に扱い、変更後にソース (Lyx ファイルとは異なる) をコンパイルしたり、Latex を再解析したり (これはセクション内でのみ実行できますか?) するなどのタスクをサポートする新しい専用メニュー項目を提供できます。

このようなハイライターを実装すると、SoC コーダーは tex2lyx パーサーの動作や Lyx が内部でテキストを表現する方法に慣れることができます。これは、より野心的な Lyx プロジェクトの一部としての「最初の成果物」として適しているかもしれません。

答え4

LyX は WYSIWYM (What You See Is What You Mean) 哲学により、文書構造の視覚的なフィードバックを通常の LaTeX よりはるかに多く提供しますが、これは WYSIWYG にはまったく近づきません。LyX で本当に欠けているのは、編集中に PDF が更新される継続的なコンパイル モードです。そこで、私の提案は次のとおりです。

LyXの連続バックグラウンドコンパイルモードを実装する

関連情報