| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
| 13.1 Comments | ||
| 13.2 Files | ||
| 13.3 Functions and Variables for File Input and Output |
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
Maximaの入力中 /*と */の間のテキストはどんなものでもコメントです。
です。
Maximaのパーサはコメントを入力ストリームでのトークンを見つけるための空白として扱います;
コメントで常にトークンは終わります。
a/* foo */bのような入力は1つのトークンabではなく、2つのトークン
aとbを含みます。
ほかの点ではMaximaはコメントを無視します;
コメントの中身も位置もパースされた入力式に残りません。
コメントは任意の深さに入れ子にすることができます。
/*と */の区切り記号はマッチングペアを形作ります。
/*の数は */と同じでなければいけません。
例:
(%i1) /* aa is a variable of interest */ aa : 1234;
(%o1) 1234
(%i2) /* Value of bb depends on aa */ bb : aa^2;
(%o2) 1522756
(%i3) /* User-defined infix operator */ infix ("b");
(%o3) b
(%i4) /* Parses same as a b c, not abc */ a/* foo */b/* bar */c;
(%o4) a b c
(%i5) /* Comments /* can be nested /* to any depth */ */ */ 1 + xyz;
(%o5) xyz + 1
|
Categories: Syntax
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
簡単に言えば、ファイルはデータやテキスト含む個々のストレージデバイス上のある領域です。 ディスク上のファイルは比喩的に「名簿(ディレクトリ)」の中にグループ化されます。 簡単に言えば、ディレクトリはファイルのリストです。 ファイルを扱うコマンドは以下の通りです:
save,
load,
loadfile,
stringout,
batch,
demo,
writefile,
closefile,
appendfile。
ファイル名が plot2d
や save
, writefile
のような関数に渡され、
ファイル名がパスを含まない時
Maximaは現在のワーキングディレクトリにファイルを保存します。
現在のワーキングディレクトリは Windowsや Linuxのようなシステムとインストールに依存します。
| [ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
コンソールの筆記録を filenameに追加します。
筆記録ファイルが存在すればいつも追加されることを除いて、
appendfileは writefileと同じです。
closefile
は appendfileや
writefileが開いた筆記録ファイルを閉じます。
Categories: File output ·Console interaction
option)batch(filename)は Maximaの式を filenameから読み込んで評価します。
batchはリスト file_search_maxima
の中から filenameを検索します。
file_search
も参照してください。
batch(filename, は
demo)demo(filename)ようなものです。
この場合、batchはリスト file_search_demo
の中から
filenameを検索します。
demo
を参照してください。
batch(filename, はオプション
test)display_all=trueを付けた run_testsuiteようなものです。
この場合、batchは
run_testsuiteのようにリスト file_search_testsではなく、
リスト file_search_maximaの中で filenameを検索します。
更に run_testsuiteはリスト
testsuite_filesの中にあるテストを実行します。
batchを使うとどんなファイルもテストモードで実行することが可能です。
ファイルはリスト file_search_maximaの中であってもいいです。
これはテストファイルを書いている時に便利です。
filenameは一連の Maximaの式からなり、それぞれの式は
;か $で終了します。
特殊変数 %
と関数 %th
はファイル内での前の結果を参照します。
ファイルは :lisp構成子を含むかもしれません。
ファイルの中の空白、タブ、改行は無視されます。
必要な入力ファイルはテキストエディタもしくは stringout
関数で作ることができます。
batchはそれぞれの入力式を filenameから読み込み、
入力をコンソールに表示し、対応する出力式を計算し、出力式を表示します。
入力ラベルは入力式に割り当てられ、出力ラベルは出力式に割り当てられます。
batchはエラーがない限りファイルの中のすべての入力式を評価します。
もしユーザー入力が(例えば、 asksign
や askinteger
によって)要求されたら、
batchは必要な入力を入手するためポーズして、入手後評価を続けます。
コンソールで control-Cをタイプすると
batchを停止させることが可能な場合があります。
control-Cの効果は基礎となる Lispの実装に依存します。
batchにはいくつか用法があります。
役立つコマンドラインの蓄積を供給したり、エラーのないデモンストレーションを与えたり、
複雑な問題を解く時人の考えを整理するのを助けたり。
batchは引数を評価します。
第二引数なしで呼び出されたり、オプション demoで呼び出された時、
batchは filenameのパスを文字列として返します。
オプション testで呼び出された時、
戻り値は空のリスト[]か filenameと失敗したテストの数を含むリストです。
load
, batchload
, demo
も参照してください。
Categories: Session management ·File input
filenameから Maximaの式を読み込んで評価します。
入力式や出力式を表示しません。
ラベルを出力式に割り当てません。
しかし( printや describeが生成するような)プリント文の出力は表示されます。
特殊変数 %
や関数 %th
は
ファイルの中の結果ではなく対話インタープリタからの以前の結果を参照します。
ファイルは:lisp構成子を含むことはできません。
batchloadは filenameのパスを文字列として返します。
batchloadは引数を評価します。
Categories: Session management ·File input
writefile
や appendfile
で開いたトランスクリプトファイルを閉じます。
Categories: File output ·Console interaction
デフォルト値: false
file_output_appendは
ファイル出力関数が出力ファイルに追加するかファイルを新たに書き換えるか(truncate)決めます。
file_output_appendがtrueの時
ファイル出力関数は出力ファイルに追加します。
そうでないなら出力ファイルは書き換えられます。
save
, stringout
, with_stdout
は
file_output_appendに関係します。
出力ファイルを書き出す他の関数は file_output_appendに関係しません。
特に、プロット関数や変換関数は常に出力ファイルを書き換え、
tex
や appendfile
はいつも追加します。
Categories: File output ·Global flags
pathと filenameから限定された(modified)パスを構成します。
もし pathの最後の構成要素が ###.somethingの形なら、
構成要素は filename.somethingに置き換えられます。
そうでないなら最後の構成要素は単に filenameに置き換えられます。
結果はLispのパス名オブジェクトです。
Categories: File input ·File output
file_searchはファイル filenameを検索し、
もし見つかったら(文字列として)ファイルへのパスを返します;
見つからないなら file_searchは falseを返します。
file_search (filename)はデフォルトのサーチディレクトリを検索します。
デフォルトのサーチディレクトリは file_search_maxima
,
file_search_lisp
, file_search_demo
変数によって指定されます。
file_searchは、
名前を「ワイルドカード」ファイルサーチパターンにマッチさせようとする前に、
最初に、渡された実際の名前が存在するかチェックします。
ファイルサーチパターンに関連した file_search_maxima
を参照してください。
引数 filenameは、パスとファイル名、もしくは単にファイル名、もしくは、 もしファイルサーチディレクトリがファイルサーチパターンを含むなら 単にファイル名のベース(拡張子なし)のいずれかです。 例えば、
file_search ("/home/wfs/special/zeta.mac");
file_search ("zeta.mac");
file_search ("zeta");
|
ファイルが存在していて、
/home/wfs/special/###.macが
file_search_maximaに中にあるという仮定の下で
上記すべては同じファイルを見つけます。
file_search (filename, pathlist)は
pathlistが指定するディレクトリの中だけを検索します。
ここで pathlistは文字列のリストです。
引数 pathlistはデフォルトの検索ディレクトリに取って代わります。
なので、もしパスリストが与えられたら
file_searchは指定されたところだけを検索し、
デフォルトの検索ディレクトリのいずれも検索しません。
pathlistの中に1つのディレクトリだけしかない場合でも
要素1つのリストとして与えなければいけません。
ユーザーはデフォルト検索ディレクトリを変更できます。
file_search_maxima
を参照してください。
load
は
file_search_maximaと file_search_lisp
を
を検索ディレクトリとして指定して file_searchを呼び出します。
Categories: File input
これらの変数は load
や, demo
, 他のいくつかの
Maximaの関数が検索するディレクトリのリストを指定します。
これらの変数のデフォルト値は Maximaインストレーションの様々なディレクトリを指名します。
ユーザーは デフォルト値を置き換えるかディレクトリを追加することでこれらの変数を変更できます 例えば、
file_search_maxima: ["/usr/local/foo/###.mac",
"/usr/local/bar/###.mac"]$
|
は file_search_maximaのデフォルト値を置き換えますし、
file_search_maxima: append (file_search_maxima,
["/usr/local/foo/###.mac", "/usr/local/bar/###.mac"])$
|
は2つのディレクトリを追加します。
ファイル maxima-init.macに
Maximaが起動した時にファイル検索パスが自動的に割り当てられるような式を入れておくと便利かもしれません。
Introduction for Runtime Environmentも参照してください。
特別な「ワイルドカード」構造によってファイル名の拡張子やパスを多重にしてすることができます。
文字列 ###は求められている名前に拡張される一方、
カーリー括弧 {foo,bar,baz}で囲まれ、コンマで分離されたリストは
多重文字列に拡張されます。
例えば、求められてる名前が neumannとすると
"/home/{wfs,gcj}/###.{lisp,mac}"
|
は /home/wfs/neumann.lisp, /home/gcj/neumann.lisp,
/home/wfs/neumann.mac, /home/gcj/neumann.macに展開されます。
Categories: File input ·Global variables
ファイル名拡張子に基づいて filenameの中身について推測を返します。 filenameは実際のファイルを参照する必要はありません; ファイルを開いたり中身を探索したりはしません。
戻り値はシンボルであり、 object, lisp, maximaのいずれかです。
もし拡張子が file_type_maximaの中の値の1つと一致したら、
file_typeは maximaを返します。
もし拡張子が file_type_lispの中の値の1つと一致したら、
file_typeは lispを返します。
上のいずれでもないなら、file_typeは objectを返します。
pathname_type
も参照してください。
デフォルト値に関しては file_type_maxima
と file_type_lisp
を
参照してください。
例:
(%i2) map('file_type,
["test.lisp", "test.mac", "test.dem", "test.txt"]);
(%o2) [lisp, maxima, maxima, object]
|
Categories: File input
デフォルト値: [l, lsp, lisp]
file_type_lispは
maximaが Lispソースファイルの印として認識するファイル拡張子のリストです。
file_type
も参照してください。
デフォルト値: [mac, mc, demo, dem, dm1, dm2, dm3, dmt]
file_type_maximaは、
maximaが Maximaソースファイルの印として認識するファイル拡張子のリストです。
file_type
も参照してください。
filenameの中の式を評価します。
そして変数、関数、他のオブジェクトをMaximaにもたらします。
filenameから再生されたバインドは存在するオブジェクトのバインドを上書きします(clobber)。
ファイルを見つけるために
loadは、探索ディレクトリとして
file_search_maximaと
file_search_lispを引数に与えて file_searchをコールします。
もし loadが成功したらファイルの名前を返します。
そうでないなら loadはエラーメッセージを出力します。
loadは Lispコードでも Maximaコードでも等しく機能します。
save
, translate_file
, compile_file
―これらはLispコードを生成します―
が生成したファイルはすべて loadによって処理できます。
loadは Lispファイルをロードするために loadfileをコールし、
Maximaファイルをロードするために batchload
をコールします。
loadは Maximaファイルの中で :lisp構成子を認識しません。
filenameを処理する時
グローバル変数 _, __, %, %thは
loadがコールされた時バインドされていた値を持ちます。
loadfile
, batch
, batchload
, demo
も参照してください。
loadfileはLispファイルを処理します;
batch, batchload, demoは Maximaファイルを処理します。
ファイル探索メカニズムについてもっと詳しいことは file_search
を参照してください。
loadは引数を評価します。
Categories: Session management ·File input
デフォルト値: false
関数 load
や loadfile
,
batchload
を使ってファイルがロードされる時、
システム変数 load_pathnameは処理するファイルのパス名を示します。
変数 load_pathnameはロード中にファイルからアクセスすることができます。
例:
ディレクトリ
"/home/dieter/workspace/mymaxima/temp/"
に以下のコマンドを含むバッチファイル test.macがあるとしましょう。
print("The value of load_pathname is: ", load_pathname)$
print("End of batchfile")$
|
すると以下の出力を得ます。
(%i1) load("/home/dieter/workspace/mymaxima/temp/test.mac")$
The value of load_pathname is:
/home/dieter/workspace/mymaxima/temp/test.mac
End of batchfile
|
Categories: File input
filenameの中の Lisp式を評価します。
loadfileは file_searchを呼び出しません。
なのでファイル拡張子とファイルを見つけるのに
filenameは必要なパスも含まなければいけません。
loadfileは save
, translate_file
,
compile_file
によって生成されたファイルを処理できます。
ユーザーは loadfileの代わりに load
を使うほうが便利だと気づくでしょう。
Categories: Session management ·File input
デフォルト値: true
loadprintはファイルがロードされた時メッセージを表示するかどうか告げます。
loadprintが trueの時いつもメッセージを表示します。
loadprintが 'loadfileの時ファイルが関数
loadfileによってロードされた時だけメッセージを表示します。
loadprintが 'autoloadの時
ファイルが自動的にロードされた時だけメッセージを表示します。
setup_autoload
を参照してください。
loadprintが falseの時メッセージは決して表示されません。
Categories: File input ·Global flags
デフォルト値: false
packagefile: trueを設定すると、
ファイルがロードされる時必要なところを除いて、
Maximaの情報リスト(例えば、values
, functions
)への
情報の追加を抑制します。
他の人が使うパッケージ(ファイル)を生成するために
save
や translate
を使うパッケージデザイナーが使ったりします。
こうすると、
ユーザーが自身のデータを追加した時
パッケージの中身はユーザーのやったことを取り込まないでしょう。
これは起こりうる名前衝突の問題を解決はしないことに注意してください。
このフラグはパッケージファイルへ出力されるものに素直に影響することにも注意してください。
フラグを trueに設定することは
Maxima初期化ファイルを生成するにも役に立ちます。
Categories: Translation flags and variables
これらの関数はpathnameの構成要素を返します。
例:
(%i1) pathname_directory("/home/dieter/maxima/changelog.txt");
(%o1) /home/dieter/maxima/
(%i2) pathname_name("/home/dieter/maxima/changelog.txt");
(%o2) changelog
(%i3) pathname_type("/home/dieter/maxima/changelog.txt");
(%o3) txt
|
Categories: File input
pathという名前のファイルをコンソールに表示します。 pathは文字列かシンボルです; もしシンボルなら文字列に変換されます。
もし pathが現在のワーキングディレクトリからアクセス可能なファイル名なら
そのファイルがコンソールに表示されます。
そうでないなら
printfileは
filename_merge
を介して file_search_usage
の要素のそれぞれに
pathを追加することでファイルを見つけようとします。
もし pathが存在しているファイルを示しているなら、
printfileは pathを返し、
そうでないなら成功したファイル名マージの結果を返します。
Categories: File input ·Console interaction
リストの要素をカーリ括弧{ }で囲んで表示します。
Tcl/Tk言語のプログラムの一部として適した形です。
tcl_output (list, i0, skip)は、
要素i0で始まり、
要素 i0 + skip, i0 + 2 skip,
などなどというように listを表示します。
tcl_output (list, i0)は
tcl_output (list, i0, 2)と同値です。
tcl_output ([list_1, ..., list_n], i)は
list_1, …, list_nの i番目の要素を表示します。
例:
(%i1) tcl_output ([1, 2, 3, 4, 5, 6], 1, 3)$
{1.000000000 4.000000000
}
(%i2) tcl_output ([1, 2, 3, 4, 5, 6], 2, 3)$
{2.000000000 5.000000000
}
(%i3) tcl_output ([3/7, 5/9, 11/13, 13/17], 1)$
{((RAT SIMP) 3 7) ((RAT SIMP) 11 13)
}
(%i4) tcl_output ([x1, y1, x2, y2, x3, y3], 2)$
{$Y1 $Y2 $Y3
}
(%i5) tcl_output ([[1, 2, 3], [11, 22, 33]], 1)$
{SIMP 1.000000000 11.00000000
}
|
filenameに name_1, name_2, name_3, …
の現在値を保存します。
引数は変数、関数、他のオブジェクトの名前です。
もし名前が関連づけられた値や関数を持たないなら無視されます。
saveは filenameを返します。
saveはデータを Lisp式の形式で保存します。
saveで保存されたデータは load (filename)によって回復できます。
load
を参照してください。
グローバルフラグ file_output_append
は、
saveが出力ファイルに追加するか、書き換えるか決めます。
file_output_appendが trueの時、
saveは出力ファイルに追加します。
そうでないなら saveは出力ファイルを切り詰めます。
どちらの場合も、もしファイルが存在しないなら saveはファイルを生成します。
特殊形式 save (filename, values, functions, labels, ...)は
values
, functions
, labels
, などと指名された項目を保存します。
名前は変数 infolists
によって指定された任意のものです。
values
はユーザー定義変数すべてを含みます。
特殊形式 save (filename, [m, n])は、
mから nまでの入力ラベル、出力ラベルの値を保存します。
mと nは整数リテラルでなければならないことに注意してください。
例えば、save ("foo.1", %i42, %o42)のように、
入力ラベル、出力ラベルは1つ1つ保存することもできます。
save (filename, labels)は入力ラベル出力ラベルすべてを保存します。
保存されたラベルが回復された時、それらは存在していたラベルは変更されます。
特殊形式 save (filename, name_1=expr_1, name_2=expr_2, ...)は、
expr_1, expr_2, …,の値をname_1, name_2, …という名前で保存します。
例えば、 save ("foo.1", aa=%o88)のように、
この形式を入力ラベル出力ラベルに適用することは便利です。
この形式の等式の右辺は任意の式であり、その式は評価されます。
この形式は、新しい名前を現在のMaximaの環境に導入はせず、
ただ、 filenameにそれらを保存します。
これらの特殊形式と saveの一般形式は自由に混在させることができます。
例えば、 save (filename, aa, bb, cc=42, functions, [11, 17])。
特殊形式 save (filename, all)はMaximaの現在の状態を保存します。
これは、自動的に定義された項目はもちろん、ユーザー定義の変数、関数、配列などすべてを
含みます。
もしユーザーが file_search_maxima
や
showtime
のようなシステム変数に新しい値を割り当てていたなら、
保存項目はそれらを含みます。
myoptions
を参照してください。
saveは filenameを評価し、他の引数すべてをクォートします。
Categories: Session management ·File output
stringoutは、式が入力としてタイプされたのと同じ形式で式をファイルに書き込みます。
なので、ファイルは batch
や demo
コマンドの入力として使えますし、
どんな目的のためでも編集できます。
stringoutは writefile
が進行中の間に実行することができます。
グローバルフラグ file_output_append
は、
stringoutが出力ファイルに追加するか書き換えるか決めます。
file_output_appendが trueの時、
stringoutは出力ファイルに追加します。
そうでないなら stringoutは出力ファイルを切り詰めます。
どちらの場合も、もしファイルが存在しなければ stringoutはファイルを生成します。
stringoutの一般形式は1つ以上の式の値を出力ファイルに書き込みます。
もし式が変数なら、変数の値だけが書き込まれ変数名は書き込まれないことに注意してください。
役に立つ特殊な場合として、式は
入力ラベル (%i1, %i2, %i3, …)
もしくは出力ラベル (%o1, %o2, %o3, …)でもよいです。
)
もし grind
が trueなら、
stringoutは grindフォーマットを使って出力をフォーマットします。
そうでないなら stringフォーマットが使われます。
grindと stringを参照してください。
特別な形 stringout (filename, [m, n])は
mからnまでの入力ラベルの値を書き込みます。
特別な形 stringout (filename, input)は
入力ラベルすべてをファイルに書き込みます。
特別な形 stringout (filename, functions)は
(グローバルリスト functions
で指定される)
ユーザー定義関数すべてをファイルに書き込みます。
特別な形 stringout (filename, values)は、
(グローバルリスト values
で指定される)
ユーザーが割り当てた変数すべてをファイルに書き込みます。
変数それぞれは変数名とコロンとその値という割り当て文として出力されます。
stringoutの一般形は変数を割り当て文として出力しないことに注意してください。
Categories: Session management ·File output
TeXドキュメントの準備に適した式の表現を出力します。 結果はドキュメントの断片です。 それはより大きなドキュメントにコピーすることができますが、それ自身では処理できません。
tex (expr)は exprのTeX表現をコンソールに出力します。
tex (label)は labelで名付けられた式のTeX表現を出力し、
(式の左に表示されるよう)等式ラベルをそれに割り当てます。
TeX等式ラベルは Maximaラベルと同じです。
destinationは出力ストリームもしくはファイル名です。
destinationがファイル名の時、
texはファイルに出力を追加します。
関数 openwと openaは出力ストリームを生成します。
tex (expr, false)と tex (label, false)は
TeX出力を文字列として返します。
texは一番目の引数をテストしてラベルかどうか確認した後、引数を評価します。
クォートクォート''は引数の評価を強制します。
それによってテストを無効にしてラベルの表示を妨げます。
texput
も参照してください。
例:
(%i1) integrate (1/(1+x^3), x);
2 x - 1
2 atan(-------)
log(x - x + 1) sqrt(3) log(x + 1)
(%o1) - --------------- + ------------- + ----------
6 sqrt(3) 3
(%i2) tex (%o1);
$$-{{\log \left(x^2-x+1\right)}\over{6}}+{{\arctan \left({{2\,x-1
}\over{\sqrt{3}}}\right)}\over{\sqrt{3}}}+{{\log \left(x+1\right)
}\over{3}}\leqno{\tt (\%o1)}$$
(%o2) (\%o1)
(%i3) tex (integrate (sin(x), x));
$$-\cos x$$
(%o3) false
(%i4) tex (%o1, "foo.tex");
(%o4) (\%o1)
|
tex (expr, false)はTeX出力を文字列として返します。
(%i1) S : tex (x * y * z, false); (%o1) $$x\,y\,z$$ (%i2) S; (%o2) $$x\,y\,z$$ |
Categories: TeX output ·File output
式 eのTeX出力を表す文字列を返します。 等式や他の任意の環境のため TeX出力を区切り記号で囲みません。
例:
(%i1) tex1 (sin(x) + cos(x)); (%o1) \sin x+\cos x |
アトム aにTeX出力を割り当てます。 ここで aはシンボルもしくは演算子名です。
texput (a, s)とすると、
tex関数は aの代わりに文字列 sをTeX出力に書き足します。
texput (a, f)とすると、
tex関数は TeX出力を生成するために関数 fをコールします。
fは引数を1つ受け入れなければいけません。
ここで、引数は演算子 aを持つ式で、文字列(TeX出力)を返さなければいけません。
fは tex1をコールし、入力式の引数のためにTeX出力を生成するかもしれません。
texput (a, s, operator_type)とすると、
tex関数は aの代わりに sをTeX出力に書き足し、
適切な位置に書き足されたテキストを配置します。
ここで operator_typeは prefixか, infix, postfix,
nary, nofixのいずれかです。
texput (a, [s_1, s_2], matchfix)とすると、
tex関数は TeX出力の aの引数の両側に s_1と
s_2を書き足します。
(もし複数なら)引数はコンマで分離します。
texput (a, [s_1, s_2, s_3], matchfix)とすると、
tex関数は TeX出力の aの引数の両側に s_1と
s_2を書き足します。
引数は s_3で分離します。
例:
変数に TeX出力を割り当てます。
(%i1) texput (me,"\\mu_e"); (%o1) \mu_e (%i2) tex (me); $$\mu_e$$ (%o2) false |
任意の関数(演算子ではない)に TeX出力を割り当てます。
(%i1) texput (lcm, "\\mathrm{lcm}");
(%o1) \mathrm{lcm}
(%i2) tex (lcm (a, b));
$$\mathrm{lcm}\left(a , b\right)$$
(%o2) false
|
TeX出力を生成する関数をコールします。
(%i1) texfoo (e) := block ([a, b], [a, b] : args (e),
concat ("\\left[\\stackrel{",tex1(b),"}{",tex1(a),"}\\right]"))$
(%i2) texput (foo, texfoo);
(%o2) texfoo
(%i3) tex (foo (2^x, %pi));
$$\left[\stackrel{\pi}{2^{x}}\right]$$
(%o3) false
|
前置演算子に TeX出力を割り当てます。
(%i1) prefix ("grad");
(%o1) grad
(%i2) texput ("grad", " \\nabla ", prefix);
(%o2) \nabla
(%i3) tex (grad f);
$$ \nabla f$$
(%o3) false
|
中置演算子に TeX出力を割り当てます。
(%i1) infix ("~");
(%o1) ~
(%i2) texput ("~", " \\times ", infix);
(%o2) \times
(%i3) tex (a ~ b);
$$a \times b$$
(%o3) false
|
後置演算子に TeX出力を割り当てます。
(%i1) postfix ("##");
(%o1) ##
(%i2) texput ("##", "!!", postfix);
(%o2) !!
(%i3) tex (x ##);
$$x!!$$
(%o3) false
|
n項演算子に TeX出力を割り当てます。
(%i1) nary ("@@");
(%o1) @@
(%i2) texput ("@@", " \\circ ", nary);
(%o2) \circ
(%i3) tex (a @@ b @@ c @@ d);
$$a \circ b \circ c \circ d$$
(%o3) false
|
無項演算子に TeX出力を割り当てます。
(%i1) nofix ("foo");
(%o1) foo
(%i2) texput ("foo", "\\mathsc{foo}", nofix);
(%o2) \mathsc{foo}
(%i3) tex (foo);
$$\mathsc{foo}$$
(%o3) false
|
マッチフィックス演算子に TeX出力を割り当てます。
(%i1) matchfix ("<<", ">>");
(%o1) <<
(%i2) texput ("<<", [" \\langle ", " \\rangle "], matchfix);
(%o2) [ \langle , \rangle ]
(%i3) tex (<<a>>);
$$ \langle a \rangle $$
(%o3) false
(%i4) tex (<<a, b>>);
$$ \langle a , b \rangle $$
(%o4) false
(%i5) texput ("<<", [" \\langle ", " \\rangle ", " \\, | \\,"],
matchfix);
(%o5) [ \langle , \rangle , \, | \,]
(%i6) tex (<<a>>);
$$ \langle a \rangle $$
(%o6) false
(%i7) tex (<<a, b>>);
$$ \langle a \, | \,b \rangle $$
(%o7) false
|
Categories: TeX output
texが出力する TeX環境をカスタマイズします。
これらの関数が保持するように、 TeX環境は2つの文字列から構成されます;
1つは他の任意のTeX出力に前もって出力されるもの、もう1つは後に出力されるものです。
式のトップレベル演算子の TeX環境だけが出力されます; 他の演算子に関連づけられた TeX環境は無視されます。
get_tex_environmentは演算子 opに適用された TeX環境を返します;
もし他の環境が割り当てられていないならデフォルトを返します。
set_tex_environmentは演算子 opのための TeX環境を割り当てます。
例:
(%i1) get_tex_environment (":=");
(%o1) [
\begin{verbatim}
, ;
\end{verbatim}
]
(%i2) tex (f (x) := 1 - x);
\begin{verbatim}
f(x):=1-x;
\end{verbatim}
(%o2) false
(%i3) set_tex_environment (":=", "$$", "$$");
(%o3) [$$, $$]
(%i4) tex (f (x) := 1 - x);
$$f(x):=1-x$$
(%o4) false
|
Categories: TeX output
texが出力する TeX環境をカスタマイズします。
これらの関数が保持するように、TeX環境は2つの文字列から構成されます;
1つは他の任意のTeX出力に前もって出力されるもの、もう1つは後に出力されるものです。
get_tex_environment_defaultは、
トップレベル演算子が(set_tex_environmentが割り当てたような)特定の
TeX環境を持たない式に適用された TeX環境を返します。
set_tex_environment_defaultはデフォルトのTeX環境を割り当てます。
例:
(%i1) get_tex_environment_default ();
(%o1) [$$, $$]
(%i2) tex (f(x) + g(x));
$$g\left(x\right)+f\left(x\right)$$
(%o2) false
(%i3) set_tex_environment_default ("\\begin{equation}
", "
\\end{equation}");
(%o3) [\begin{equation}
,
\end{equation}]
(%i4) tex (f(x) + g(x));
\begin{equation}
g\left(x\right)+f\left(x\right)
\end{equation}
(%o4) false
|
Categories: TeX output
expr_1, expr_2, expr_3, ...を評価し、
生成された出力すべてをファイル fか出力ストリーム sに書き込みます。
評価される式は出力に書き込まれません。
出力は print
, display
, grind
や他の関数が生成したものです。
グローバルフラグ file_output_append
は、
with_stdoutが出力ファイル fに追加するか書き換えるかを決めます。
file_output_appendが trueの時、
with_stdoutは出力ファイルに追加します。
そうでないなら with_stdoutは出力ファイルを書き換えます。
どちらの場合も、もしファイルが存在しないなら with_stdoutはファイルを生成します。
with_stdoutは最後の引数の値を返します。
writefile
も参照してください。
(%i1) with_stdout ("tmp.out", for i:5 thru 10 do
print (i, "! yields", i!))$
(%i2) printfile ("tmp.out")$
5 ! yields 120
6 ! yields 720
7 ! yields 5040
8 ! yields 40320
9 ! yields 362880
10 ! yields 3628800
|
Categories: File output
Maximaセッションのトランスクリプトを filenameに書き込むことを開始します。 ユーザーと Maximaの間の対話すべてが ちょうどコンソールに現れるようにこのファイルに記録されます。
トランスクリプトはコンソール出力フォーマットで出力されるので、
Maximaに再ロードすることはできません。
再ロード可能な式を含むファイルを作るには、
save
と stringout
を参照してください。
saveは Lisp形式の式を保存する一方、stringoutは
Maxima形式の式を保存します。
filenameが既に存在している時、writefileの実行の効果は基礎となる
Lisp実装に依存します;
トランスクリプトファイルは書き換えられるかもしれませんし、追加されるかもしれません。
appendfile
はいつもトランスクリプトファイルに追加します。
以前の対話の表示を保存するためには writefileの後
playback
を実行するのが便利かもしれません。
playbackは入力と出力変数 (%i1, %o1, など)だけを表示し、
(戻り値と違い)関数の中のプリント文が生成した出力はいずれも
playbackによって表示されません。
closefile
は writefileや
appendfileが開いたトランスクリプトファイルを閉じます。
Categories: File output ·Console interaction
| [ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は市川 雄二によって2012年1月月5日にtexi2html 1.82を用いて生成されました。