Windows 11で動作する TeXmacs 2.1.1 | |
| 開発者 | GNU プロジェクト |
|---|---|
| 安定リリース | 2.1.4 [1]
/ 2024年3月11日 |
| リポジトリ |
|
| 書かれた | C++ |
| オペレーティング·システム | Linux、Windows、macOS、Unix系[2] |
| プラットフォーム | x86、x86-64 |
| タイプ | ワードプロセッサ |
| ライセンス | GPL-3.0以降[3] |
| Webサイト | このサイトについて |
GNU TeXmacsは、GNUプロジェクトの科学技術ワードプロセッサおよびタイプセッティングコンポーネントです。元々はTeX機能を備えたGNU Emacsの派生版として開発されましたが、TeXフォントを使用しながら、それらのプログラムとコードを共有していません。[4] Joris van der Hoevenと開発者グループによって作成および保守されています。 [5]このプログラムは、WYSIWYGユーザーインターフェイスを備えた構造化文書を作成します。ユーザーは新しい文書スタイルを作成できます。このエディターは、プロフェッショナルな外観の文書を公開するための高品質のタイプセッティングアルゴリズムとTeXおよびその他のフォントを提供します。
背景
構造化されたWYSIWYGエディタおよび文書作成システムとして、TeXmacsは、Interleaf(最初のリリースは1985年)、Framemaker(1986年)、SoftQuad Author/Editor(1988年)、[6] Lilac、[7] Grif (1991年)、[8] Thot [9]などの以前の構造化文書エディタに似ています。また、論理的に表現された複雑な印刷構造の対話型編集に関する学術研究もありました。[10] [11]
2000年代と2010年代には、構造化テキストのインタラクティブな編集への関心が高まり、人文科学の研究者向けのプログラムの開発が促進されました。その一例が、WYSIWYGに近い編集と、マークアップの意味のある視覚的表現による学術テキストの充実を備えたビジュアルXMLエディターであるCWRC-Writerです。[12]
編集と文書作成の世界のもう 1 つの側面として、LaTeXで記述された構造化テキストを視覚的に操作するためのプログラムがLyXです。これは WYSIWYG 編集ではなく、構造の視覚的表現 ( WYSIWYM ) を目的としています。
特徴

多くのWYSIWYGエディタ ( Microsoft Wordなど)と同様に、作成者は画面上で文書を操作し、それを紙に印刷して同じような見た目にします。TeXmacs の目標は、WYSIWYG エディタを提供しながら、美しく美しい組版結果で正しく構造化された文書を書くことができるようにすることです。TeXmacs はLaTeXのフロントエンドではありませんが[13] 、TeXmacs 文書はTeXまたは LaTeXに変換できます。LaTeX も (ある程度) インポートでき、HTML、Scheme、Verbatim、XMLからのインポートとエクスポートの両方が提供されています。[14] HTML エクスポートはCSSでスタイル設定できます (バージョン 1.99.14 以降)。MathML 用のコンバータもあり、TeXmacs は印刷用にPDFとPostScript を出力できます。 [15]
TeXmacs は数式、表、画像、相互参照、引用を扱うことができます。Maxima 、FriCAS、SageMathなどの多くのコンピュータ代数システムのフロントエンドとして使用でき、それらの出力の一部をタイプセッティングに統合できます。TeXmacs は、プログラムをカスタマイズして拡張機能を記述するための Guile と呼ばれる Scheme 拡張言語もサポートして います。
また、プレゼンテーションモードと小さな技術図面エディタも備えており、スプレッドシート機能を備えた完全な科学オフィス スイートへと進化する計画があります。スプレッドシートの実装はバージョン 1.99.12 から開始されており、TeXmacs のスプレッドシートでは、プラグイン (Python や Maxima など) を利用してセル値を計算できます。
TeXmacs は現在、 Linux、FreeBSD、Cygwin、Haiku、macOSなど、ほとんどの Unix ベースのアーキテクチャで動作します。 Cygwin バージョンとともに、Microsoft Windows用のネイティブポートも利用できます。
TeXmacs エディタ
TeXmacs エディタでは、文書の構造と外観が同時に表現されます。[16]文書の論理単位をネストされたフォーカス フレームで囲むことで、カーソルの動きに応じて色のヒントが表示され、構造がユーザーにわかりやすく表示されます。[17]カーソル付近の構造の詳細な説明は、エディタ ウィンドウのフッターに表示され、左右の矢印キーで細かく選択できます。[16]エディタでは、テキスト モードとソース モードの編集を切り替えることができ、マクロの作成もサポートされています。ソース エディタは構文を認識します。[18]
数学的タイポグラフィ
TeXmacs は、キーボードの押下シーケンスを記号にマッピングすることで、数式の入力を容易にします。たとえば、記号はと入力することで入力できます。 =>
いくつかの記号にはそのような表現がありません(例えば)。これらはキーで入力できます(例えば、 のキーは です)。このキーボードベースの入力は、このタスクにポイントアンドクリックメニューを提供する傾向がある他の数式エディタとは異なります。[19]Tab ↹=>Tab ↹Tab ↹
バッチ処理
TeXmacsをバッチプロセッサ(LaTeXの通常の動作モード)として使用し、X仮想フレームバッファを使用して処理中に不要なウィンドウを開かないようにすることができます。たとえば、次のコマンド
$ xvfb-run texmacs --convert article.tm article.pdf --quit
TeXmacs ドキュメント「article.tm」から PDFファイル「article.pdf」を生成します。
TeXmacs フォーマット
すべてのTeXmacs文書または文書フラグメントはツリーとして考えることができます(ツリーの概念はSGMLマークアップ言語にも存在し、Texmacs形式はこれに似ています)。たとえば、ツリー
式を表す
(ここでは Wikipedia で使用されている TeX マークアップを使用して記述されています)、TeXmacs 独自のタイプセット エンジンによってタイプセット式に変換され、ここでは画像として挿入されています。
TeXmacsツリーはTeXmacsファイルでは文字列として表現され、TeXmacsエディタでは対話的な動作とともに文書のタイプセット表現として表現されます。[20] TeXmacsツリーの画面上の表現では、カーソルの動きがツリー内の動きを表します。ディスク上には、TeXmacs形式の3つの表現が存在します。ネイティブ表現、XML表現、およびScheme S式による表現です。Scheme表現はSchemeプログラムとのインターフェースに役立ちます。
組版と文書管理
組版プロセスはTeXmacsツリーをボックスに変換する。[21] TeXmacsツリーの評価は、プリミティブの縮小、つまりマクロアプリケーションの評価によって進められる。組版プリミティブは非常に高速になるように設計されており、エディターに組み込まれている。プリミティブの多くは、組み込みの環境変数を通じてレンダリングをカスタマイズできる。スタイルシート言語では、組み込みプリミティブの上にマクロとして新しいプリミティブを記述できる。
TeXmacs は、「改行」にグローバル アルゴリズム ( TeX のアルゴリズムに類似) を使用し、さらに「ページ区切り」にもグローバル アルゴリズムを使用します。ページ区切りアルゴリズムは、浮動オブジェクト (図、表、脚注) と複数列のコンテンツを考慮します。
文書管理
ドキュメントは、ネイティブ マクロ システムと Guile-Scheme を通じて制御できます。エディターのメニューとキーバインドをカスタマイズし、ドキュメント ツリーに対してプログラム的に操作することも可能です。
TeXmacs マクロ
TeXmacsマクロは構造化された入力手段(TeX/LaTeXと同様)を提供し、即座にタイプセットされ、同時に編集可能な入力フィールドを維持します。これらはソースコードで記述されますが、WYSIWYGエディタは視覚的な構造を構文に変換することでマクロの作成を補助することができます。[22]
Schemeによる文書管理
SchemeはGNU Guileを通じてTeXmacsに組み込まれており、エディタ自体は次のように制御できます。 [21]メニューとキーバインディングをカスタマイズできます。SchemeコマンドはTeXmacsドキュメント内で対話的に呼び出すことも、コマンドラインから呼び出すことも、TeXmacsマクロ内から呼び出すこともできます。TeXmacsツリーは、さまざまな形式でSchemeに渡すことができます。「パッシブツリー」(リスト上の標準Schemeルーチンを使用してコンテンツを直接操作するのに便利)、「アクティブツリー」(グローバルドキュメントツリー内のツリーの位置を追跡し、プログラムでドキュメントを変更するために使用できます)、および「ハイブリッド」表現です。
グラフィックス
グラフィック オブジェクトも TeXmacs 形式の一部であり、Scheme からプログラムで操作できます。TeXmacs Scheme セッションで生成された TeXmacs グラフィックの例を、画像を生成したセッションとともに以下に示します。Scheme セッションでプログラムで生成された画像は、ドキュメントにツリーとして挿入されるため、内部描画エディターを使用して編集することもできます。Scheme スクリプトは、externTeXmacs マクロを通じて実行することもできます。この場合、ドキュメントではタイプセットされたマテリアルのみが使用可能であり、直接編集することはできません (変更は Scheme コード内で行う必要があります)。
Scheme ] ( define pi ( acos -1 )) ;; 2 つの座標を使用して TeXmacs グラフィック形式で点を定義する関数Scheme ] ( define ( pt x y ) ' ( point , ( number->string x ) , ( number->string y ))) ;;ポイントを設定しますScheme ] ( define xC ( - ( * 2 ( cos ( / pi 3 ))))) Scheme ] ( define yC ( * 2 ( sin ( / pi 3 )))) Scheme ] ( define pA ( pt -2 0 )) Scheme ] ( define pB ( pt 2 0 )) Scheme ] ( define pC ( pt xC yC )) Scheme ] ( define tA ( pt -2.3 -0.5 )) Scheme ] ( define tB ( pt 2.1 -0.5 )) Scheme ] ( define tC ( pt ( - xC 0.2 ) ( + yC 0.2 ))) ;;グラフィックスを生成するScheme ] ( stree->tree ' ( with "gr-geometry" ( tuple "geometry" "400px" "300px" "center" ) ( graphics ( with "color" "blue" ( text-at ( TeXmacs ) , ( pt -0.55 -0.75 ))) ( with "color" "black" ( arc , pA , pC ,pB )) ( 「色」が「黒」の場合
(線、pA 、pB )) ( 「色」が「赤」の場合(斜線、pA 、pB 、pC )) ( 「色」が「黒」の場合(テキスト アット"A" 、tA )) ( 「色」が「黒」の場合(テキスト アット"B" 、tB )) ( 「色」が「黒」の場合(テキスト アット"C" 、tC )))))
サポートされているバックエンド

TeXmacs には、多くのテクノロジーをサポートするバックエンドがあります。
- プログラミング言語: CLISP、CMUCL、Python、QCL、R、Shell
- コンピュータ代数システム: Axiom、Giac、Macaulay 2、Mathematica、Maxima、MuPAD、PARI/GP、Reduce、SageMath、Yacas
- 数値行列システム: GNU Octave、Matlab、Scilab
- プロットパッケージ: gnuplot、Graphviz、XYpic、Mathemagix
- その他: DraTeX、Eukleides、GTybalt、Lush、Juris-M、Zotero
編集可能なプラグイン出力を埋め込む
プラグインの出力は、「実行可能スイッチ」を使用してTeXmacsドキュメント内に埋め込むことができます。[23]この方法では、システムへの特定の入力とそれに対応する出力を切り替えることができ、ドキュメントにシームレスに溶け込みます。
参照
参考文献
- ^ ヨリス・ファン・デル・ホーフェン (2024 年 4 月 2 日)。 「TeXmacs 2.1.4」。2024 年4 月 2 日に取得。
- ^ 「TeXmacs のダウンロードとインストール (FSF GNU プロジェクト)」。Texmacs.org。2010年 5 月 29 日閲覧。
- ^ 「GNU 一般公衆利用許諾書」。Texmacs.org。2010年 12 月 27 日閲覧。
- ^ よくある質問 (FSF GNU プロジェクト)
- ^ 「GNU TeXmacsの作者」。2019年9月23日閲覧。
- ^ Brown, Susan (2015-03-01). 「編集者の修復」. Interdisciplinary Science Reviews . 40 (1): 78–94. Bibcode :2015ISRv...40...78B. doi : 10.1179/0308018814Z.000000000106 . ISSN 0308-0188. S2CID 144086542.
- ^ Brooks, KP (1991 年 6 月). 「Lilac: 2 ビュー ドキュメント エディタ」. Computer . 24 (6): 7–19. doi :10.1109/2.86832. ISSN 0018-9162. S2CID 2239112.
- ^ 「GriF SGML エディタ」 。2020年 11 月 27 日閲覧。[永久リンク切れ]
- ^ 「Thot 構造化文書エディター」 。2020年 11 月 26 日閲覧。
- ^ 構造化文書モデル、クレメント・シン・タイイン、博士論文、インペリアル・カレッジ・ロンドン、コンピューティング学部、1989年
- ^ 「手続き型表現を使用したグラフィカル オブジェクトの編集」、Paul Asente、博士論文、スタンフォード大学コンピュータ サイエンス学部 (1987)
- ^ CWRC-Writer: ブラウザ内 XML エディタ、G. Rockwell 他、Digital Humanities 2012 カンファレンス
- ^ van der Hoeven, Joris (2006-08-21). 「GNU TeXmacs: 科学編集プラットフォーム」(PDF) . www.texmacs.org . pp. 7f . 2016-01-16取得。TeXmacs
は LaTeX フロントエンドではないため、LaTeX の (かなり大きな) サブ言語に対してのみ正しい変換を保証できます。
- ^ van der Hoeven, Joris; Seidl, Andreas (2011). 「よくある質問」www.texmacs.org . 2016年1月16日閲覧。
- ^ ファン デル ホーフェン、ジョリス (2012)。 「GNU TeXmacs へようこそ」。www.texmacs.org 。2016 年 1 月 16 日に取得。
- ^ アブ・ファン ・デル・ホーフェン、ジョリス。 「GNU TeXmacs、無料の構造化された wysiwyg およびテクニカル テキスト エディター」(PDF)。カイエ・グーテンベルク。 39-40: 39-50。
- ^ 「TeXmacs マニュアル。2.2、構造化テキストの入力」(PDF) 。2020 年 11 月 20 日閲覧。
- ^ 「GNU TEXMACS ユーザーマニュアル; 11.2. スタイルファイルとパッケージのレンダリング」(PDF) 。 2020年11月27日閲覧。
- ^ ユーザーマニュアル「数学記号の入力」を参照してください。
- ^ ファン・デル・ホーフェン、ジョリス。 「TeXmacs フォーマット」。2019年8月10日に取得。
- ^ ab M. Gubinelli、「The Guile in TeXmacs」、ストラスブールで開催された Guile and Guix Days でのプレゼンテーション、2019 年 6 月 21 ~ 22 日 pdf 2019 年 9 月 21 日閲覧。
- ^ 「TeXmacsマニュアル; 11.1 シンプルなスタイルパッケージの作成」(PDF) 。2020年11月27日閲覧。
- ^ 「TeXmacs ユーザーマニュアル、セクション「プレゼンテーションのトラバーサル」」(PDF) 。2020 年 11 月 10 日閲覧。
外部リンク
- 公式サイト
- texmacs-users メーリング リスト アーカイブ
- フォーラム
