- 締切済み
LaTeXのinputの応用について
いつもお世話になっております。 少々LaTeXでわからないことがあるので質問させてください。 \input{問題ファイル名} の問題ファイル名のところに toi1-kiso.tex toi2-kiso.tex toi3-hi.tex toi4-hi.tex toi5-kiso.tex の5つのファイルのなかから"kiso"と名前のつくファイルをランダムで呼びだしたいのですがどうしたらうまくいきますでしょうか? お力添えいただけたら幸いです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kabaokaba
- ベストアンサー率51% (724/1416)
>LaTeXで条件分岐とか乱数生成ってあるのかしら?そもそもLaTeXってプログラミング言語?かなり違うような……。 条件分岐はあります(\if/\ifx/ifcase/\ifnum/\ifcat/\ifdimなど,工夫すれば連想配列もできる(下のサンプルコードにその実例あり)). 乱数生成は相当困難ですが,なんとか擬似乱数は出せます (random.sty/fp-random.sty). #そもそもコンピュータで扱えるのは根本的には擬似乱数だけどね。。。 それからTeXそのものはプログラミング言語です (理論的には任意のアルゴリズムが実装可能なことが証明されています(オートマトンの理論で)・・もちろん効率は無視) 要は 0、1、2を「適当に」ばらして割り当てればいい のであって「乱数」っぽければいいのでしょう. そうであれば,\timeでその日の午前0時からの秒数を求めて 3で割ったあまりを考えれば それらしい「乱数」っぽい値は取得できます. \@tempcnta\time \@tempcntb\@tempcnta \divide\@tempcnta by3\relax \multiply\@tempcnta by3\relax \advance\@tempcntb-\@tempcnta これで\@tempcntbには時間に応じて 0から2までの値が入ります. あとはこの0から2までの値に対してファイル名を 割り当てればよいのです. \@namedef{file0}{toi1-kiso.tex} \@namedef{file1}{toi2-kiso.tex} \@namedef{file2}{toi5-kiso.tex} 実際に使うときは \input{\@nameuse{file\the\@tempcntb}} で動くはず. 奥村さんのとこのWebのTeXでinput以外の動作確認はしています.
- cametan_42
- ベストアンサー率62% (162/261)
LaTeXで条件分岐とか乱数生成ってあるのかしら?そもそもLaTeXってプログラミング言語?かなり違うような……。 いずれにせよ、ここで質問するよりこちらで訊いた方が確実だと思いますよ。 TeX Wiki: http://oku.edu.mie-u.ac.jp/~okumura/texwiki/ 参考までに。