[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
13.1 Comments | ||
13.2 Files | ||
13.3 Functions and Variables for File Input and Output | ||
13.4 Functions and Variables for TeX Output | ||
13.5 Functions and Variables for Fortran Output |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
簡単に言えば、ファイルはデータやテキスト含む個々のストレージデバイス上のある領域です。 ディスク上のファイルは比喩的に「名簿(ディレクトリ)」の中にグループ化されます。 簡単に言えば、ディレクトリはファイルのリストです。 ファイルを扱うコマンドは以下の通りです:
appendfile batch batchload closefile file_output_append filename_merge file_search file_search_maxima file_search_lisp file_search_demo file_search_usage file_search_tests file_type file_type_lisp file_type_maxima load load_pathname loadfile loadprint pathname_directory pathname_name pathname_type printfile save stringout with_stdout writefile
ファイル名が plot2d
や save
, writefile
のような関数に渡され、
ファイル名がパスを含まない時
Maximaは現在のワーキングディレクトリにファイルを保存します。
現在のワーキングディレクトリは Windowsや Linuxのようなシステムとインストールに依存します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
コンソールの筆記録を 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
がコールされた時バインドされていた値を持ちます。
load
コマンドが呼ばれる前に defstruct
が構造体を定義しているなら、
それらは構造体として再読み込みされるだけということも注意してください。
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
ファイルシステムの pathの中のファイルとディレクトリのリストを返します。
pathはワイルドカード文字(すなわち、パスの未指定部分を表す文字)を含むかもしれません。 それはほとんどのシステム上で少なくともアスタリスクを含み、システムによっては可能な他の文字も含みます。
ディレクトリ
はLisp関数 DIRECTORYを頼りにしていて、実装依存の振る舞いがあるかもしれません。
Categories: File input
これらの関数は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
filenameに name_1, name_2, name_3, …
の現在値を保存します。
引数は変数、関数、他のオブジェクトの名前です。
もし名前が関連づけられた値や関数を持たないなら無視されます。
save
は filenameを返します。
save
はデータを Lisp式の形式で保存します。
もし filenameが .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
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
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
wxMaximaの組み込みの TeX出力機能はここで記述する関数を使いませんが、 代わりにそれ自身用の実装を使うことに注意してください。
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
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
デフォルト値: 0
fortindent
は
fortran
コマンドが表示する式の左マージンインデントを制御します。
0は標準のプリントアウト(すなわち6スペース)を与え、
正の値は式を更に右に印字するようにします。
Categories: Translation and compilation
Fortran文として exprを印字します。
出力行はスペースでインデントされます。
もし行が長過ぎるなら、
fortran
は継続行を印字します。
fortran
は指数演算子 ^
を **
として印字し、
複素数 a + b %i
を形式 (a,b)
で印字します。
exprは等式も取り、もしそうなら fortran
は、
等式の右辺を左辺に割り当てる割り当て文を印字します。
特にもし exprの右辺が行列名なら、
fortran
は行列の要素それぞれに対する割り当て文を印字します。
もし exprが fortran
が認識する何かでないなら、
クレームすることなく式を grind
フォーマットで印字します。
fortran
はリスト、配列、関数について知りません。
fortindent
は
fortran
コマンドが表示する式の左マージンインデントを制御します。
0は標準のプリントアウト(すなわち6スペース)を与え、
正の値は式を更に右に印字するようにします。
fortspaces
が true
の時、
fortran
は印字行それぞれを80カラムまでスペースで埋めます。
fortran
は引数を評価します;
引数のクォートは評価を無効にします。
fortran
はいつも done
を返します。
例:
(%i1) expr: (a + b)^12$ (%i2) fortran (expr); (b+a)**12 (%o2) done (%i3) fortran ('x=expr); x = (b+a)**12 (%o3) done (%i4) fortran ('x=expand (expr)); x = b**12+12*a*b**11+66*a**2*b**10+220*a**3*b**9+495*a**4*b**8+792 1 *a**5*b**7+924*a**6*b**6+792*a**7*b**5+495*a**8*b**4+220*a**9*b 2 **3+66*a**10*b**2+12*a**11*b+a**12 (%o4) done (%i5) fortran ('x=7+5*%i); x = (7,5) (%o5) done (%i6) fortran ('x=[1,2,3,4]); x = [1,2,3,4] (%o6) done (%i7) f(x) := x^2$ (%i8) fortran (f); f (%o8) done
Categories: Translation and compilation
デフォルト値: false
fortspaces
が true
の時、
fortran
は印字行それぞれを80カラムまでスペースで埋めます。
Categories: Translation and compilation
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by 市川雄二 on June, 21 2016 using texi2html 1.76.