2013.04.16figure環境の中で\captionを使えば図のキャプションが出力されますが、同じ環境の中に表も入れてtable環境のキャプションも入れたい、なんてことがよくあります。デザイン上figure環境やtable環境を使うとうまく収まらないのでフロートにはできない、だけど図や表のキャプションは付けたい、なんてこともあります。そんなときに安易にキャプションを入れるマクロを作ってみました。こんな感じに出力できます。必要なマクロはたった2行です。コマンドというほどでもありませんでした。\newcommand{\figenv}{\def\@captype{figure}}\newcommand{\tabenv}{\def\@captype{table}}ようするに\def\@captype{figure}を直接使えばいいだけのことですが、TeX文書の中で使うには\makeatletterと\makeatotherで囲まなければならないので、あれば便利、かな。使い方はこんな感じです。\tabenv\caption{figureの中の表のキャプション}\end{figure}何もないところでも\figenv\caption{キャプション}が使えます。\@captypeというのは、LaTeXの\captionの定義の中で使われているマクロです。ltfloat.dtxを見てみると、以下のような定義がありました。{\@dblarg{\@caption\@captype}}%}\captionが呼ばれたら\@captypeの定義を調べて、figureだったりtableのカウンタを増やしてから、キャプションを出力する別のコマンド\@captionを読んでいます。これを見ると\@captypeが何も定義されていないとエラーになるように定義されています。自分で定義してしまえばfigureやtable環境のようにキャプションを出力できるわけです。キャプションを自由に付けたいLaTeXにはfigureやtableなどのfloat環境があるので、その中で\captionを使えば「図1.3」とか「表3.2」のように番号がカウントされたキャプションが出力されます。\dotと\ddotの位置を調整\dotと\ddotは文字の上にドットを付けるコマンドです。イタリックのAなどに使うと文字の尖った位置からちょっとズレてしまいます。いいと思う人もいるし、気になる人もいるようで、あるとき位置を調整できるようなマクロを作りました。複数に1つの式番号の後半ではeqnarrayを使いました。eqnarrayをjbook.clsなどを使うと「&」で囲まれた演算子などの周りに無駄なスペースが入ってしまいます。LaTeXgvが動かないまま進展なしgvが動かないまま解決策が見つからないまま出張は終わってしまいました。使わずに済んだのですから、それはそれで良かったのですが気分は良くありません。ネットで調べてもいろいろエラーの話が出てくるのですが解決策が分かりません。LaTeXTeXの記憶(22)—\breakの後の空行を除く行を強制的に改行して、そこで改ページが必要なことがあります。数式の上下の空きをその都度調節するAMS-LaTeXを使っているときに数式行の上下を調節するマクロです。上下を\hruleではさんだminipageあるシリーズの章とびらを作るときに利用しました。デザインの指定があったから作ったのですが、簡単だけれどちょっとした変化になります。(と言ってもその後使った覚えがないのですけど。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。Cloud11Web開発2WordPress28エディタ15タイ・バンコク16プログラミング17ライフスタイル8海外移動13英語6プロフィール2014年からバンコクと東京を行ったり来たりしているsatoです。プログラミング情報、ASEANを移動する情報をまとめています。Cloud11Web開発2WordPress28エディタ15タイ・バンコク16プログラミング17ライフスタイル8海外移動13英語6プロフィール2014年からバンコクと東京を行ったり来たりしているsatoです。プログラミング情報、ASEANを移動する情報をまとめています。