エスケープシーケンスEscape-Sequences
エスケープシーケンスとテキストの書式
グラフ、ワークシート、レイアウト上のテキストブジェクトに特殊なフォーマットを適用するには、通常はマウスで目的のテキストを選択して、書式またはスタイルツールバーのボタンを使用します。 WYSIWYG方式でテキストオブジェクトを操作する場合、 ツールバーボタンに設定されている非表示のテキストフォーマットコマンド(エスケープシーケンスといいます)を見ることはできません。しかし、これらのエスケープシーケンスを表示するOriginのインターフェースがあり、エスケープシーケンスがどういうものか、どのように動作するのかを知っておくと大変役立ちます。
ラベル列からプロットされたテキストだけでなく、テキストツール、テキストの追加メニュー、LabTalkのLabelコマンド、テキストボックスに入力した接頭語/接尾語などで作成されたすべてのテキストラベルでは、これらの特殊フォーマットコマンドに従って表示されます。 すべてのエスケープシーケンスは、バックスラッシュ(円記号) "\" で始まり、テキストをどのように変更するかという制御文字を続けて入力します。 変更の加えられるテキストは、次のように制御文字に続く括弧内に入力します:
\制御文字(編集したい文字列)
文字列を書式化するために書式およびスタイルツールバーのボタンやリストを使用するとき、Originは自動的にこれらのフォーマットコマンドを付加しています。 これらのフォーマットコマンドは、テキストラベルの中には表示されませんが、その文字列のオブジェクトプロパティダイアログボックス(フォーマット:オブジェクトプロパティ)の中には表示されます。
例えば、テキストツールを使って、Controlと入力し、それを選択して「太字」ボタン(「書式」ツールバー)をクリックします。 グラフやワークシート上には単にControlと表示されますが、オブジェクトプロパティダイアログボックスを開くと、\b(Control)と、対象文字列が「\b( )」シーケンスで囲まれています。 つまり、「\b( )」フォーマットコマンドがControlという文字列を太字で表示しているのです。 この方法の実用的な重要性としては、テキストラベルをプログラムで作成する場合などWYSIWYGのインプレーステキスト編集を使って文字列を入力できないような状況で、これらのフォーマットコマンドを明示的に使用して文字列の書式を指定できる点にあります。フォーマットコマンドは、接尾語や接頭語のテキストボックス、オブジェクトプロパティダイアログボックス、LabTalkのLabelコマンドで使用することができます。
エスケープシーケンスにはLabTalkで解釈できるものもありますし、標準のC言語のものもあります。
利用できるフォーマットコマンドのリスト
構文
|
説明
|
入力の方法...
|
表示結果...
|
\(ASCII character code)
|
指定したASCII記号を表示
|
\(169)
|
|
\-(text)
|
textを下付きとして設定
|
sub\-(script)
|
|
\+(text)
|
textを上付きとして設定
|
super\+(script)
|
|
\=(text1,text2)
|
上下両付き表記text1を下付きとして設定、text2を上付きとして設定
|
script\=(sub,super)
|
|
\=(text1\v(,)text2,text3)
|
上下両付き表記text1 と text2 を下付き (コンマで区切る)、text3 を上付きとして設定します。
|
script\=(sub1\v(,)sub2,super)
|
|
\ab(text)
|
textの上にバーを表示
|
\ab(X)
|
|
\ad(text)
|
textの上に一点鎖線を表示
|
\ad(A)
|
|
\at(text)
|
textの上にティルデを表示
|
\at(A)
|
|
\b(text)
|
textを太字に設定
|
\b(bold)
|
|
\cnumber(text)
|
ORIGIN.INIファイルの色リストのnumberで示される色でtextを表示
|
\c2(red)
|
|
\f:fontname(text)
|
textをfontnameのフォントを使用して表示 (フォント名は同定可能な範囲で略記可)
|
\f:Wide Latin(font)
|
|
\g(text)
|
textをギリシャ文字に設定
|
\g(Greek)
|
|
\h(text)
|
ブロック置換表記
|
\h(\l(1) %(?Y))
|
\l(1) %(?Y)
|
\i(text)
|
textを斜体に設定
|
\i(italics)
|
|
\p%pointsize(text)
|
textの大きさを%倍に変更。 200は2倍、100は大きさの変更なし等
|
change\p200(point)size
|
|
\q(text)
|
LaTeX数式を挿入するときに、テキスト (LaTeXマークアップ) をLaTeXオブジェクトとしてレンダリングします (Origin 2023以前のバージョンでは、2017 LaTeX アプリを使用)。
|
\q(\varphi_{\mu, \sigma^{2}}(X))
|
|
\s(literal text)
|
テキストに取り消し線(水平線)を引く
|
\s(abc)
|
|
\sc(text)
|
連続するスペースが複数ある場合でも、1つの条件付き水平スペースを文字列に挿入します。これは、いくつかのラベルが存在せず、いくつかのスペース(>1)がある場合に使用されます。\scは1つのスペースしか作成しません。
|
\b(%(1Y,@LL)\sc%(1Y,@LD3)\sc%(1Y,@LD4)\sc(%(1Y,@LU)))
|
LName Unit
|
\sep:nn
|
複数行のテキス ラベル (グラフの凡例を含む) では、前の行と次の行の間に nn の量で余分な区切りを追加します。ここで、nn はフォントの高さのパーセントです。
|
\l(1) %(1)
\sep:50
\l(2) %(2)
\l(3) %(3)
|
|
\u(text)
|
textに下線を設定
|
\u(underline)
|
|
\v(text)
|
textをリテラルテキストとして扱います。
これは、バックスラッシュ(円記号)「\」を含むパスを表示する場合に役立ちます。
|
\v
(C:\Samples\Programming)
|
|
\ww(literal text)
|
凡例オブジェクトのプロパティダイアログに入力されたリテラルテキストを折り返し、凡例のテキスト部分に割り当てられた「ボックス」内で左揃えにします。
|
\ww(Very Large-sized Cities: population between 5 and 10 million)
|
|
\x(unicode number)
|
Unicode文字を表示します。
|
\x(03b8)
|
|
\y(') \y(")
|
プライムあるいはダブルプライムを表示。プライムとダブルプライムの組み合わせを表示するためには、\+(\y(')) or \+(\y("))のように上付き文字の表現を使用します。
|
\g(c)\=(3,\y('))
|
|
テキストオブジェクト中のバックスラッシュ(円記号)の入力に関する注意
通常のWYSIWYG方式でテキストラベルを編集するとき、バックスラッシュ(円記号)を直接入力することができます。 インプレースでは、エスケープシーケンスをサポートしていないので、エスケープシーケンスとしては解釈されません。
そのため、例えば次のように入力すると...
- This file is located at C:\MY FILES
そのまま入力したように表示されます。
Originは、2番目のバックスラッシュをテキスト文字列に自動的に挿入することでWYSIWYGによるバックスラッシュを挿入することができます。 WYSIWYGモードの場合、1つのバックスラッシュしか表示されません。 しかし、オブジェクトのプロパティダイアログボックスを開くと、2つのバックスラッシュが表示されているのがわかります(下図参照)。(以下に説明するようにテキストラベルが壊れてしまうので、このダイアログボックスで2番目のバックスラッシュを消去しないで下さい。)
「オブジェクトプロパティ」ダイアログボックスでのバックスラッシュ(円記号)の使用
バックスラッシュ(円記号) ("\") を「オブジェクトプロパティ」ダイアログボックス に直接入力するとエスケープシーケンスだと解釈されます。
例えば、「オブジェクトプロパティ」ダイアログボックスに下の文を入力すると:
- This file is located at C:\MY FILES
次のように表示されます。
- This file is located at C:MY FILES
バックスラッシュが表示されていません。 定義されていないオプションや括弧がバックスラッシュの後に続かない場合、バックスラッシュは無視されて表示されません。 そのため、オブジェクトプロパティダイアログボックスに直接テキストを入力したり、編集する際に、バックスラッシュを表示する必要があれば、次のいずれかを行う必要があります:
- 文字列にバックスラッシュを2つ(\\ )入力します。(例えば、 "This file is located at C:\\MY FILES")
- フォーマットコマンドの\v( )を使用します。 (例えば、"This file is located at \v(C:\MY FILES)")
- オブジェクトプロパティのテキストタブの逐次解釈ボックスにチェックを付けます。
LabTalkを使用して...
- オブジェクトプロパティダイアログボックスに文字通りにテキストを入力し(2つ"\\"ではなく、1つのバックスラッシュ"\"のみを入力、下図参照)、OKをクリックします。
- コマンドウィンドウを開き、コマンドラインに次のように入力します。
- ObjectName.verbatim=1 <ENTER>
- ここでObjectName はテキストのオブジェクト名です。(これはプロパティの「プログラミング」タブに表示されます。)
バックスラッシュがテキストラベルの中に適切に表示されます。
Note:ObjectName.verbatimメソッドは、WYSIWYGによるインプレーステキスト編集と似たような操作(文字列変数を使ってファイルパスの情報を挿入する)で実行する場合に役立ちます。 WYSIWYG方式ではバックスラッシュ(\)を直接入力することができますが、それが文字列の一部の場合適切に扱われません(例えばファイルパス)。
WYSIWYG方式で作成したテキストオブジェクトでこれがどのように扱われるかについては、テキストラベルの置換変数値.を参照してください。
|
エスケープシーケンスとグラフテーマに関する考察
グラフテーマは、あるテキストオブジェクトの表示属性をコピーして、別のテキストオブジェクトに貼り付けることができます。 しかし、コピーと貼り付けができない表示属性もいくつかあります。 テキストオブジェクトのプロパティがエスケープシーケンスを挿入して作成された場合、それは別のテキストオブジェクトに適用できません。
どのテキストフォーマットが別のテキストオブジェクトに貼り付けることができないかを知るには、まず、テキストオブジェクトを作成し、クリックしてそれを選択します。 ここで、書式 およびスタイルツールバーのボタン--太字、斜体、下線など--が利用できない(ボタンがグレーアウトしている)ことが分かります。一方他のボタン(ギリシャ文字、フォントを大きく/小さく、フォントの色など)は利用できます。
テキストオブジェクトが選択されたときに利用できないボタンやドロップダウンリストがあるのは、フォーマットオプションを指定する際にエスケープシーケンスを使用しており、他のテキストオブジェクトにフォーマットをコピーして貼り付けることができないためです。
|