TemplateBox

TemplateBox[{box1,box2,},tag]

低レベルのボックス構造で,ボックス boxiの表示と評価をパラメータ化する.

TemplateBox["key1"expr1,"key2"expr2,,tag]

ボックス式かもしれずそうではないかもしれない任意の式の使用を許す.

詳細とオプション

  • TemplateBoxのパラメータは,表示や評価に使われる新たなボックス式を作成する関数に入力される.DisplayFunctionオプションは表示用のボックス作成に使われる関数を指定し,InterpretationFunctionオプションは評価に使われる関数を指定する.
  • TemplateBoxtag が文字列の場合は,そのスタイルがTemplateBoxに使われる.
  • 使用可能なオプション
  • BaseStyle {}使用するスタイル
    CopyFunction Automaticクリップボードにコピーする際に boxiをボックス構造に組み立てる純関数
    DisplayFunction Noneboxiを表示用のボックス構造に組み立てる純関数
    Editable Automaticboxiの編集を許可するかどうか
    InterpretationFunction Automaticboxiを評価用のボックス構造に組み立てる純関数
    Selectable Automaticboxiの個別選択を許可するかどうか
    SyntaxForm Automatic解析目的でボックスをどのように解釈するか
    Tooltip Noneマウスカーソルがボックス上に来た場合に表示するツールチップ
    TooltipDelay 0.ツールチップの表示までの遅延時間
    TooltipStyle {}ツールチップのスタイル指定
  • DisplayFunctionInterpretationFunctionCopyFunctionは,ボックス構造に単純な並べ替えと代入を許可する純関数のみを受け付ける.これらの関数はWolfram言語カーネルでは評価されず,スタンドアロンのカーネル機能はサポートしない.
  • TemplateBoxの連想形式が使われている場合は,純関数がSlot["keyi"]または# keyiを使って expriを参照するかもしれない.
  • DynamicあるいはSliderCheckbox等のコントロールの主引数に現れる純関数の引数は,事実上,DynamicModule変数であるかのように扱われる.
  • スタイルシートでDisplayFunctionが指定された場合は,スタイルシートが変更されると表示されているすべてのTemplateBoxが一様に変更される.
  • 編集したりインタラクトしたりできるのはTemplateBoxのボックス引数であって,DisplayFunctionの一部であるボックスではないということは,TemplateBoxの重要な側面である.
  • CopyFunctionAutomaticは,「編集」 「コピー」は,TextClipboardTypeの値に応じてDisplayFunctionまたはInterpretationFunctionによって生成されたボックスを使わなければならないことを示す.
  • 新たな表記法を定義するために,TemplateBoxを使ったMakeBoxesMakeExpressionの規則を書くことができる.
  • TemplateBoxが任意のボックス式をパラメータとしてサポートできない場合は,オプションEditable->Falseを使ってユーザがパラメータを編集できないようにすることが望ましい.

例題

すべて開くすべて閉じる

  (3)

スタイルシートに"Binomial"スタイルで保存されているテンプレートを表示する:

明示的なDisplayFunctionでテンプレートを表示する:

テンプレートの引数をSliderの動的な値として使う:

スコープ  (1)

InterpretationFunctionを使ってテンプレートの評価の仕方を制御する:

一般化と拡張  (1)

ボックス形式ではない値はInterpretationBoxで解釈の一部として使うことができる:

オプション  (11)

BaseStyle  (1)

テンプレートのベーススタイルを設定する:

CopyFunction  (1)

表示形式あるいは解釈形式と異なるコピー形式を設定する:

以下がペーストされた形である:

fowl

DisplayFunction  (1)

DisplayFunctionは,スタイルシートから継承されたあらゆるDisplayFunctionを無効にする:

Editable  (1)

TemplateBoxのコンテンツは,デフォルトで,編集可能である:

SelectableFalseとするとボックスの任意の個々の引数の編集が不可能になる:

InterpretationFunction  (2)

InterpretationFunctionは,評価に使われるボックス構造を与える:

入力として使われたものと同じ構造を評価するとLieBracketになる:

Automaticという値は,tag がボックス構造の関数の頭部として使われるようにする:

Selectable  (1)

TemplateBoxのコンテンツは,デフォルトで選択可能になっている:

SelectableFalseとすると,ボックスの任意の個々の引数が選択できなくなる:

SyntaxForm  (1)

SyntaxFormを使って,演算子として使われるTemplateBoxの優先順位を設定することができる:

Tooltip  (1)

マウスがテンプレートボックスの上に来たときに表示されるツールチップを指定する:

Tooltip->Automaticとすると,tag からツールチップが生成される:

TooltipDelay  (1)

ツールチップを2秒の遅れで設定する:

TooltipStyle  (1)

ツールチップの背景色とフォントサイズを変える:

考えられる問題  (2)

結果として無効なボックス構造になるDisplayFunctionはエラーになる:

テンプレートパラメータは編集可能なフィールドと動的値の両方として使うことはできない:

上記は最初は正しく表示されるが,これを編集しようとしても動的値は更新されない:

InputFieldBoxを使って動的値でもある編集可能なフィールドを作る:

おもしろい例題  (1)

ポップアップメニューとして表示され選択された値として評価されるボックスを作る:

ボックスを入力として評価すると選択された値が返される:

Wolfram Research (2008), TemplateBox, Wolfram言語関数, https://reference.wolfram.com/language/ref/TemplateBox.html (2020年に更新).

テキスト

Wolfram Research (2008), TemplateBox, Wolfram言語関数, https://reference.wolfram.com/language/ref/TemplateBox.html (2020年に更新).

CMS

Wolfram Language. 2008. "TemplateBox." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/TemplateBox.html.

APA

Wolfram Language. (2008). TemplateBox. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TemplateBox.html

BibTeX

@misc{reference.wolfram_2024_templatebox, author="Wolfram Research", title="{TemplateBox}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/TemplateBox.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_templatebox, organization={Wolfram Research}, title={TemplateBox}, year={2020}, url={https://reference.wolfram.com/language/ref/TemplateBox.html}, note=[Accessed: 22-November-2024 ]}