Skip to the content.

ドキュメンテーション

English | 日本語

目次

  1. 基本的な使い方
  2. PNG形式を用いる場合
  3. SVG形式を用いる場合
  4. テキストの描画
    1. フォント・スタイル
    2. テキスト装飾
    3. 上付き文字と下付き文字
  5. スペースと改行
    1. ラベル内のスペース
    2. 改行
  6. テキスト以外の要素の描画
    1. ボックス・サークル・水平線・矢印
    2. 水平線
  7. コネクター
  8. リーフを囲む括弧と矩形の描画
  9. ノードごとの色指定
  10. 一部の文字を表示するためのエスケープ
  11. ノードからノードへのパスの描画(試験的機能)
  12. ノードからノードへの追加的なコネクターの描画(試験的機能)
  13. コマンドラインインターフェースの機能
    1. Penn Treebank形式
    2. 標準入力のサポート
    3. 設定ファイル
    4. TikZ出力

基本的な使い方

エディターエリアにラベル付き括弧表記でテキストを入力し,Draw PNGまたはDraw SVGボタンをクリックします.

樹形図のすべてのブランチ(枝)やリーフ(葉)は,ノード(節点)に属します.ノードを作成するには,ラベルテキストを開始括弧の直後に配置します.ブランチは,空白で区切っていくつでも設定できます.リーフのテキストに1つ以上の空白が含まれているとき,空白はそのまま表示されます.ノードのラベルに空白を含めたいときには <> 記号を使って表します.例えば Modal<>Aux とすれば Modal Aux と表示されます.

終端ノードとリーフの間に描かれるコネクターの描画方法は3種の中から選べます(autobarnone).auto では,1つ以上の空白を含むリーフ(要するに「句」)に対しては終端ノードを頂点とした三角形を描画します.リーフが空白を含まない場合(つまり「単語」の場合),垂直線が描かれます .なお,リーフの先頭に ^ をつけると,そのリーフが句であると宣言することになります.したがって必ず三角形が描かれます. bar では,すべてのリーフに関して垂直線が描かれます. none では終端ノードとリーフの間にコネクターは描かれません.これらのコネクターは Hide default connectors オプションをオンにすると非表示(透明)にすることができます.

ノードを表すテキストやリーフを表すテキストの中で改行を行たい場合,改行文字 \n を用いることができます.

RSyntaxTreeではPNG形式またはSVG形式で画像を生成します.どちらもMicrosoft Wordで作った書類などに貼り付けることができます.PNG形式の方が一般的ですが,SVG形式の画像は拡大しても描画品質が変わらないため,高品質なグラフィックが必要な場合に便利です.SVG形式の画像は,Adobe Illustrator,Microsoft Visio, BOXY SVG などのソフトウェアで読み込んで編集することができます.

Radical symmetrization オプションは,ブランチ(枝)の描画方法に影響します.Font styleFont sizeConnector heightColor の各オプションについては説明の必要はないでしょう.これらのオプションの値を変更することで,樹形図の外観を変えることができます.

PNG形式を用いる場合

PNG形式の場合,Noto SansNoto SerifWQY Zen Hei のいずれかを選ぶと,そのフォントを使って樹形図が描画されます.

SVG形式を用いる場合

SVG形式を用いる場合,期待通りの表示を得るためには,ご使用のコンピュータに適切なフォントがインストールされている必要があります.下記のフォントをあらかじめインストールしておいてください.必要なフォントがインストールされていない場合は,別のフォントで表示されるため,見た目のバランスをやや欠くことがあります.

テキストの描画

フォントのスタイルとしてイタリック/ボールド/ボールド+イタリックを指定できます.テキスト装飾としては,上線,下線,取り消し線を指定できます.また上付き文字と下付き文字を指定できます.これらは組み合わせて使用することもできます.

フォント・スタイル

Style Symbol Sample Input Output
Italic *TEXT* *italic* italic
Bold **TEXT** **bold** bold
Italic+bold ***TEXT*** ***italic bold*** italic bold

テキスト装飾

Decoration Symbol Sample Input Output
Overline =TEXT= =overline= overline
Underline -TEXT- -underline- underline
Line-through ~TEXT~ ~linethrough~ linethrough

注意: 上線はSVGでは使用できますがPNG形式の画像では表示されません.

上付き文字と下付き文字

Sample Input Output
normal_subscript_ normalsubscript
normal__superscript__ normalsuperscript

スペースと改行

ラベル内のスペース

Sample Input Output
X<>Y X Y

リーフのテキスト中の半角スペースはそのままスペースとして表示されます.<>は基本的にはラベル内でスペースを表示したいときに使いますが,リーフ内のテキストでも有効です.

改行

Sample Input Output
str1\
str2
str1
str2
str1\
\
str2
str1

str2
str1\ str2 str1
str2
str1\ \ str2 str1

str2
str1\nstr2 str1
str2
str1\n\nstr2 str1

str2

テキスト以外の要素の描画

テキストと組み合わせてサークル○,ボックス□,水平線などを描画することができます.

ボックス・サークル・水平線・矢印

Sample Input Output
||
{}
*||*
*{}*
|/|
{/}
|1|
{1}
|abc|
{abc}
--
*--*
->
*->*
<-
*<-*
<->
*<->*

水平線

Sample Input Output
str1\
---\
str2
str1
——
str2
str1\ ---\ str2 str1
——
str2
str1\n---\nstr2 str1
——
str2

ここで ---- の3つ以上の連続を意味します.

コネクター

終端ノードとリーフの間に描かれるコネクターの描画方法は3種の中から選べます(autobarnone).auto では,1つ以上の空白を含むリーフ(要するに「句」)に対しては終端ノードを頂点とした三角形を描画します.リーフが空白を含まない場合(つまり「単語」の場合),垂直の直線が描かれます .なお,リーフの先頭に ^ をつけると,そのリーフが句であると宣言することになります.したがって必ず三角形が描かれます. bar では,すべてのリーフに関して垂直の直線が描かれます. none では終端ノードとリーフの間にコネクターは描かれません.

リーフを囲む括弧と矩形の描画

ラベルまたはリーフとなるテキストの最初に(^ が存在する場合はその直後に) # を付けると,そのテキスト全体を角括弧([ ])で囲みます(例:[#NP text], [NP #text], [NP ^#text]).

テキストの最初に ## を付けると,テキスト全体を矩形(ボックス)で囲みます.

テキストの最初に ### を付けると,テキスト全体を太い線の矩形(ボックス)で囲みます.

ノードごとの色指定

@color: プレフィックスを使用して,個々のノードにカスタムカラーを指定できます.色名とHEXカラーコードの両方がサポートされています.

入力例 説明
@red:NP 色名(赤)
@blue:VP 色名(青)
@#FF5500:NP HEXカラーコード
@#0A0:VP 短縮形HEXカラーコード

マークアップの順序:他のプレフィックスと組み合わせる場合は,次の順序を使用してください:^(三角形)→ #(囲み)→ @color:(色)

入力例 説明
^@blue:NP 三角形コネクター+青色
#@red:NP 角括弧+赤色
^#@green:NP 三角形+角括弧+緑色

一部の文字を表示するためのエスケープ

文字装飾などのマークアップに使用される一部の文字をテキストとして表示するためには \ によってエスケープする必要があります.使用している環境で \ が使えない場合は ¥ で代用することができます.

Input Appearance
\[[
\]]
\<<
\>>
\^^
\++
\**
\--
\__
\==
\~~
\||
\\\
¥
<>whitespace
\n↩️
\↩️↩️
\ + whitespace↩️

注意: 単なる改行 ↩️ はスペースとして扱われます.↩️ を1つ以上連続させた場合も1つのスペースとして扱われます.

テキスト中で改行したいときには,1) \n,2) \↩️,3) \ + whitespace のいずれかを用いてください.そうすると出力される画像の中で改行 ↩️ が行われます.

ノードからノードへのパスの描画(試験的機能)

下の3種類の形式でノードからノードへのパスを表示することができます.

樹形図の中でパスを表示したいとき,パスの両端を数字のIDで指定します.数字をプラス(+)記号と共にノードのテキストの最後で指定してください(例:+7). プラス記号とID番号の間に > 記号または < 記号を入れると(例:+>7),パスの終端に矢印が付きます.その際、+>+< のどちらを用いるかで結果は変わりません。矢印の先は常にこれらのいずれかを用いたIDが指定された要素に向けられます。

IDにはどのような数字を用いても構いませんが,必ず 2箇所 で同じIDを指定することが必要です.同じIDを3箇所以上で指定することはできません.

ノードからノードへの追加的なコネクターの描画(試験的機能)

パスの指定と類似した方式でノードからノードへのコネクターを追加することができます.追加的なコネクターは直線で描画されます(polylineにはなりません).追加的なコネクターを描画する際,デフォルトのコネクターを非表示(透明)にしたいときには Hide default connectorsオプションをオンにすると良いでしょう.

追加のコネクターは数字のIDで指定します,プラスとマイナスを連続させた(+-)後にIDを指定してください(例:+-8).マイナス記号とID番号の間に > 記号または < 記号を入れると(例:+->8),コネクターの終端に矢印が付きます.その際、+->+-< のどちらを用いるかで結果は変わりません。矢印の先は常にこれらのいずれかを用いたIDが指定された要素に向けられます。

IDにはどのような数字を用いても構いませんが,必ず 2箇所 で同じIDを指定することが必要です.同じIDを3箇所以上で指定することはできません.

コマンドラインインターフェースの機能

以下の機能はコマンドラインインターフェースでのみ利用可能です.

Penn Treebank形式

RSyntaxTreeはPenn Treebank形式を自動的に検出し,括弧表記に変換します:

# Penn Treebank形式
(S (NP the dog) (VP runs))

# 同等の括弧表記
[S [NP the dog] [VP runs]]

Penn Treebank形式での特殊文字のエスケープ:

入力 表示
\( \) 丸括弧 () をそのまま表示
\[ \] 角括弧 [] をそのまま表示

例:

(S (NP hello\(world\)) (VP test))
→ [S [NP hello(world)] [VP test]]

標準入力のサポート

パイプを使って標準入力からツリーデータを渡すことができます:

echo "[S [NP hello] [VP world]]" | rsyntaxtree -f svg -o ./
cat tree.txt | rsyntaxtree -f png -o ./

設定ファイル

ホームディレクトリまたはカレントディレクトリに .rsyntaxtreerc ファイルを作成して,デフォルトオプションを設定できます:

# ~/.rsyntaxtreerc
format: svg
color: modern
fontsize: 18
leafstyle: auto
symmetrize: off

コマンドライン引数は設定ファイルの設定を上書きします.設定ファイル内の不明なオプションは警告を生成し,無効な値はエラーメッセージを表示します.

TikZ出力

RSyntaxTreeは-f tikzオプションを使用してLaTeXドキュメント用のTikZ/forestコードを生成できます.出力はforestパッケージを使用してLaTeXで直接使用できます.

制限事項: TikZ出力はツリー構造に焦点を当てており,以下の視覚的機能はサポートされていません:

機能 TikZサポート
ノード別カラー指定(@color: 非対応
囲み(### 非対応
三角形コネクタ(^ 非対応
テキスト装飾(太字,斜体) 非対応
下付き・上付き文字(_x___x__ 非対応
パス描画(+1+>1 非対応

LaTeXに精通しているユーザーは,標準的なLaTeXコマンド(例:\textcolor{red}{NP}\textbf{...})を使用して,生成されたTikZコードにこれらの機能を手動で追加できます.