こんにちは
たびたび恐れ入ります.山下と申します.rotating パッケージについてお尋ねします.ご存知の方はご教示頂ければ幸いです.
rotating パッケージ内の sidewaystable に footnote を入れる場合,\footnotemark と \footnotetext を使わねばならないのは table 環境と同じなのですが,table 環境とは異なり,\footnotetext は
\begin{sidewaystable} ~ \end{sidewaystable}
の内側に入れなければならないようです.外側に置くと,脚注が別のページに出てしまいます.
しかし,内側におけば脚注も横倒しになってくれるものの,脚注部分に脚注番号が出ません.(表の中には番号が出ます.)
表と同じページに,同じように回転させて脚注を出し,かつ脚注番号も入れるという方法はありませんでしょうか.
\documentclass[a4j,12pt]{jsarticle}
\usepackage{rotating}
\begin{document}
\begin{sidewaystable}\centering
\caption{りんごとみかんの価格推移\protect\footnotemark}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
りんご & 800 & 750 & 760 \\
みかん & 235 & 260\footnotemark & 185 \\\hline
\end{tabular}
\addtocounter{footnote}{-1}
\footnotetext{脚註(キャプション)}
\addtocounter{footnote}{1}
\footnotetext{脚注(表のセル)}
\end{sidewaystable}
\end{document}
rotating パッケージは sidewaystable 等の環境を minipage 環境の中に入れているようですので、環境内の文字列に脚註を付けるには、普通に \footnote を使えば、a, b, c, … という註番号が付くようです。
キャプションにも脚註を付けて、且つ、註番号が飛ばないようにするには、
> caption に入れた footnotemark によるカウンターの値
> 2013年 04月 09日(火曜日) 15:55 - 匿 名 の投稿
> https://okumuralab.org/tex/mod/forum/discuss.php?d=981
と同じ方法でいけると思います。なお、前回は \footnotemark に細工をしましたが、よく考えたら \protect を付ければ大丈夫なので、今回は \footnote に細工をし、下の例のキャプション中では、\protect\footnote としています。
もしも、普通の脚註と minipage の中の脚註の註番号とを連続させて、且つ、minipage の中の註番号の形式を普通の脚註と揃えたいという場合には、下の例でコメントアウトしている 3 行の % をはずせば、うまくいくのではないかと思います。
\documentclass[dvipdfmx]{jsarticle}
\usepackage{rotating}
\makeatletter
% from: jsarticle.cls
\long\def\@makecaption#1#2{{\small
\advance\leftskip .0628\linewidth
\advance\rightskip .0628\linewidth
\vskip\abovecaptionskip
\let\save@footnote\footnote % <-- added
\renewcommand{\footnote}[1][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnote\save@footnote % <-- added
\ifdim \wd\@tempboxa <\hsize \centering \fi
#1\hskip1zw\relax #2\par
\vskip\belowcaptionskip}}
\makeatother
\begin{document}
表の前の文章\footnote{表の前の文章への脚註。}。
\begin{sidewaystable}\centering
% \setcounter{mpfootnote}{\value{footnote}}
% \renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{*}\arabic{mpfootnote}}
\caption{キャプション\protect\footnote{キャプションへの脚註。}}
\begin{tabular}{c}
りんご\footnote{表のセルへの脚註。}
\end{tabular}
% \setcounter{footnote}{\value{mpfootnote}}
\end{sidewaystable}
表の後の文章\footnote{表の後の文章への脚註。}。
\end{document}
ut 様
山下です.再度のご回答,ありがとうございました.
\makeatletter から \makeatother までは footnotemark の際に教えて頂いたものとほぼ同じようですから,ポイントは
\setcounter{mpfootnote}{\value{footnote}}
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{*}\arabic{mpfootnote}}
\setcounter{footnote}{\value{mpfootnote}}
の3か所ということになりましょうか.
なお,\makeatletter から \makeatother までの部分について,sidewaystable を使うか否かに関わらずファイルのプリアンブルに書くことにする場合,何か不都合はありましょうか.
クラスファイル(jsarticle)内のコマンドを上書きしていることになると思いますので,何か不都合が生じないか,気になります.
お手数ですが,またアドバイスなど頂けると助かります.
山下です.再度のご回答,ありがとうございました.
\makeatletter から \makeatother までは footnotemark の際に教えて頂いたものとほぼ同じようですから,ポイントは
\setcounter{mpfootnote}{\value{footnote}}
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{*}\arabic{mpfootnote}}
\setcounter{footnote}{\value{mpfootnote}}
の3か所ということになりましょうか.
なお,\makeatletter から \makeatother までの部分について,sidewaystable を使うか否かに関わらずファイルのプリアンブルに書くことにする場合,何か不都合はありましょうか.
クラスファイル(jsarticle)内のコマンドを上書きしていることになると思いますので,何か不都合が生じないか,気になります.
お手数ですが,またアドバイスなど頂けると助かります.
訂正です:
\renewcommand{\footnote}[1][]{}
の部分は、
\renewcommand{\footnote}[2][]{}
としなくてはいけませんでした!!! すいません…。
私の場合、いつもこんな風に、手元でちょっと試してみて、うまくいったように見えるとつい嬉しくなって書き込んでしまって、あとから間違いや不足に気付いて一人で青くなるということの繰り返しなので、とても 「アドバイス」 などはできませんが…。
お尋ねは、「ポイント」 はどこか、ということと、\@makecaption を書き換えてもいいのか (クラスファイルの定義を勝手に書き換えたりして不都合は生じないのか)、ということでしょうか。
まず、もしも元々のご質問が 「minipage 環境内の註番号を、環境外の註番号と連番にして、且つ、註番号の形式も普通の註と揃えたい」 というものでしたら、確かにコメントアウトした 3 行が回答ということになります。
でも、今回の場合のポイントはむしろ、「rotating パッケージは sidewaystable 等の環境を minipage 環境の中に入れている」 という点だと思います。
次に、\@makecaption の書き換えについてですが、これは多分大丈夫だと思います。多少気になるとすれば、\footnotemark や \footnote を一旦退避させている \save@footnotemark とか \save@footnote というコマンド名がありがち過ぎて、他のパッケージと衝突するかも知れないという恐れはあるかも知れません (なので、適当な名前に変えてください)。
書き換えの内容を理解された上で変更をする限りにおいては、そして、クラスファイルそのものを改変するのでなければ、プリアンブルなり、自分用のマクロ集なりで、デフォルトの定義を書き換えるというのは、よくあることだと思います。
ut 様
山下です.ご回答ありがとうございました.御礼が遅くなって申し訳ありません.
> でも、今回の場合のポイントはむしろ、「rotating パッケージは sidewaystable 等の環境を minipage 環境の中に入れている」 という点だと思います。
了解しました.やっと意味が分かりました.最初は何をそんなに minipage にこだわっているんだろうと思っていたのですが,
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{*}\arabic{mpfootnote}}
ここですね.mpfootnote は ut さんが定義した退避用のカウンタと勘違いしていたのですが,調べてみたら minipage 環境中の脚注番号を表すということだそうで,ここの定義を変えるということがポイントなのですね.minipage の内外で脚注を別々に定義しているとは思いませんでした.
ただ,ここを通常の footnote と揃えるという意味ならば,
\renewcommand{\thempfootnote}{\thefootnote}
で十分ということになりませんでしょうか.そうすれば,
\setcounter{mpfootnote}{\value{footnote}}
と
\setcounter{footnote}{\value{mpfootnote}}
もなくすことができ,よりすっきりするように思います.末尾にサンプルをつけますので,点検頂きたく存じます.
なお,今回は footnote をいじるという手を教えて頂きましたが,先日教えて頂いた footnotemark をいじるという手の方がよさそうに思います.
それは,footnote をいじる手は sidewaystable では通用するのですが,通常の table では通用しないように思えるためです.これもサンプルをつけますので,何か私が勘違いしておりましたら,ご指摘頂きたく存じます.
山下です.ご回答ありがとうございました.御礼が遅くなって申し訳ありません.
> でも、今回の場合のポイントはむしろ、「rotating パッケージは sidewaystable 等の環境を minipage 環境の中に入れている」 という点だと思います。
了解しました.やっと意味が分かりました.最初は何をそんなに minipage にこだわっているんだろうと思っていたのですが,
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{*}\arabic{mpfootnote}}
ここですね.mpfootnote は ut さんが定義した退避用のカウンタと勘違いしていたのですが,調べてみたら minipage 環境中の脚注番号を表すということだそうで,ここの定義を変えるということがポイントなのですね.minipage の内外で脚注を別々に定義しているとは思いませんでした.
ただ,ここを通常の footnote と揃えるという意味ならば,
\renewcommand{\thempfootnote}{\thefootnote}
で十分ということになりませんでしょうか.そうすれば,
\setcounter{mpfootnote}{\value{footnote}}
と
\setcounter{footnote}{\value{mpfootnote}}
もなくすことができ,よりすっきりするように思います.末尾にサンプルをつけますので,点検頂きたく存じます.
なお,今回は footnote をいじるという手を教えて頂きましたが,先日教えて頂いた footnotemark をいじるという手の方がよさそうに思います.
それは,footnote をいじる手は sidewaystable では通用するのですが,通常の table では通用しないように思えるためです.これもサンプルをつけますので,何か私が勘違いしておりましたら,ご指摘頂きたく存じます.
\documentclass[a4j,10pt]{jsarticle}
\usepackage{rotating}
\makeatletter
% from: jsarticle.cls
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnotem@rk\footnotemark % <-- added
\renewcommand{\footnotemark}[1][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnotemark\save@footnotem@rk % <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax #2\par
\vskip\belowcaptionskip}}
\makeatother
\renewcommand{\thefootnote}{(注\arabic{footnote})}
\renewcommand{\thempfootnote}{\thefootnote}
\begin{document}
\begin{sidewaystable}\centering
\caption{りんごとみかんの価格推移\protect\footnotemark}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
りんご & 800 & 750 & 760 \\
みかん & 235 & 260\footnotemark & 185 \\\hline
\end{tabular}
\addtocounter{footnote}{-1}
\footnotetext{sidewaystable脚註(キャプション)}
\addtocounter{footnote}{1}
\footnotetext{sidewaystable脚注(表のセル)}
\end{sidewaystable}
\clearpage
\begin{table}\centering
\caption{めろんとキウイの価格推移\protect\footnotemark}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
めろん & 800 & 750\footnotemark & 760 \\
キウイ & 235 & 260 & 185 \\\hline
\end{tabular}
\end{table}
\addtocounter{footnote}{-1}
\footnotetext{table脚註(キャプション)}
\addtocounter{footnote}{1}
\footnotetext{table脚注(表のセル)}
\end{document}
\documentclass[a4j,10pt]{jsarticle}
\usepackage{rotating}
\makeatletter
% from: jsarticle.cls
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnote\footnote % <-- added
\renewcommand{\footnote}[2][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnote\save@footnote% <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax#2\par
\vskip\belowcaptionskip}}
\makeatother
\renewcommand{\thefootnote}{(注\arabic{footnote})}
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{\scriptsize(注\arabic{mpfootnote})}}
\begin{document}
\begin{sidewaystable}\centering
\setcounter{mpfootnote}{\value{footnote}}% sidewaystable の内
\caption{りんごとみかんの価格推移\protect\footnote{sidewaystable脚註(キャプション)}}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
りんご & 800 & 750\footnote{sidewaystable脚注(表のセル)} & 760 \\
みかん & 235 & 260 & 185 \\\hline
\end{tabular}
\setcounter{footnote}{\value{mpfootnote}}
\end{sidewaystable}
\clearpage
\begin{table}\centering
\caption{めろんとキウイの価格推移\protect\footnote{table脚註(キャプション)}}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
めろん & 800 & 750\footnote{table脚注(表のセル)} & 760 \\
キウイ & 235 & 260 & 185 \\\hline
\end{tabular}
\end{table}
\end{document}
\usepackage{rotating}
\makeatletter
% from: jsarticle.cls
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnotem@rk\footnotemark % <-- added
\renewcommand{\footnotemark}[1][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnotemark\save@footnotem@rk % <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax #2\par
\vskip\belowcaptionskip}}
\makeatother
\renewcommand{\thefootnote}{(注\arabic{footnote})}
\renewcommand{\thempfootnote}{\thefootnote}
\begin{document}
\begin{sidewaystable}\centering
\caption{りんごとみかんの価格推移\protect\footnotemark}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
りんご & 800 & 750 & 760 \\
みかん & 235 & 260\footnotemark & 185 \\\hline
\end{tabular}
\addtocounter{footnote}{-1}
\footnotetext{sidewaystable脚註(キャプション)}
\addtocounter{footnote}{1}
\footnotetext{sidewaystable脚注(表のセル)}
\end{sidewaystable}
\clearpage
\begin{table}\centering
\caption{めろんとキウイの価格推移\protect\footnotemark}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
めろん & 800 & 750\footnotemark & 760 \\
キウイ & 235 & 260 & 185 \\\hline
\end{tabular}
\end{table}
\addtocounter{footnote}{-1}
\footnotetext{table脚註(キャプション)}
\addtocounter{footnote}{1}
\footnotetext{table脚注(表のセル)}
\end{document}
\documentclass[a4j,10pt]{jsarticle}
\usepackage{rotating}
\makeatletter
% from: jsarticle.cls
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnote\footnote % <-- added
\renewcommand{\footnote}[2][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnote\save@footnote% <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax#2\par
\vskip\belowcaptionskip}}
\makeatother
\renewcommand{\thefootnote}{(注\arabic{footnote})}
\renewcommand{\thempfootnote}{\leavevmode\lower.5ex\hbox{\scriptsize(注\arabic{mpfootnote})}}
\begin{document}
\begin{sidewaystable}\centering
\setcounter{mpfootnote}{\value{footnote}}% sidewaystable の内
\caption{りんごとみかんの価格推移\protect\footnote{sidewaystable脚註(キャプション)}}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
りんご & 800 & 750\footnote{sidewaystable脚注(表のセル)} & 760 \\
みかん & 235 & 260 & 185 \\\hline
\end{tabular}
\setcounter{footnote}{\value{mpfootnote}}
\end{sidewaystable}
\clearpage
\begin{table}\centering
\caption{めろんとキウイの価格推移\protect\footnote{table脚註(キャプション)}}
\begin{tabular}{r|rrr}
& 2004 & 2005 & 2006 \\\hline
めろん & 800 & 750\footnote{table脚注(表のセル)} & 760 \\
キウイ & 235 & 260 & 185 \\\hline
\end{tabular}
\end{table}
\end{document}
思いのほか話が込み入って来てしまいましたので、うまく話を整理できるか心許ないですが…。
(1) \thempfootnote の件
> ただ,ここを通常の footnote と揃えるという意味ならば,
> \renewcommand{\thempfootnote}{\thefootnote}
> で十分ということになりませんでしょうか.
(2) \footnote を使うか、\footnotmark と \footnotetext のペアを使うかの件
> なお,今回は footnote をいじるという手を教えて頂きましたが,
> 先日教えて頂いた footnotemark をいじるという手の方がよさそうに思います.
>
> それは,footnote をいじる手は sidewaystable では通用するのですが,
> 通常の table では通用しないように思えるためです.
(1) は、普通に考えると、明らかにおかしいのですが、今回の場合のような例外的な状況では、うまくいくのですね! あと、(2) は、確かにそうかも知れません。ただ、sidewaystable で \footnotemark と \footnotetext を使うとなると、(1) のようにする必要が出て来てしまうのですね…。
まずは (2) についてですが、私が先の投稿で 「\protect を付ければ大丈夫なのだから \footnote に細工します」 と書いたのは間違いですね。すいません。
つまり、一般に、\footnote は、minipage 環境の中では使えますが、table 環境の中では使えないようです。このことをちゃんと認識していませんでした。
それで、minipage の中で \footnote を使うと、a, b, c, ... という註番号が振られて、脚註は minipage の下部に置かれますよね。
ここで、minipage の中で \footnotemark を使って、minipage の外で \footnotetext を使えば、\footnotemark の場所に (デフォルトですと) アラビア数字の註番号がついて、\footnotetext による脚註は、ページの下部に置かれます。
これが通常の使い方だと思われるのですが、ここで、\footnotetext を minipage の中に入れてしまうと、よく分からないことになります。そして、この状態が、今回の sidewaystable の場合に当たるのだと思われます。
minipage の中では \footnote が使えるので、\footnotemark と \footnotetext を使わなければ、特に問題は起きず、それが先の私の投稿ということになります。minipage の中で \footnote を使うと、“mpfootnote” というカウンタが使われるので、その値や出力形式を変えたいという場合には、\setcounter や \renewcommand で変更すればよいということになります。
これに対して \footnotemark は minipage の内外に関わらず “footnote” というカウンタを使っていて、他方 \footnotetext は、minipage の外なら “footnote”、minipage の中なら “mpfootnote” を使っているようです (多分)。
mpfootnote は minipage の中では 0 に初期化されていますが、デフォルトの \thempfootnote は \itshape\@alph\c@mpfootnote なので、1 以上じゃないと番号 (英小文字) が出力されません。
それで、minipage の中で \footnotemark と \footnotetext を使ってしまうと、\footnotemark のところには註番号が付くのに、脚註のほうには番号が付かないということになってしまったようです。
ここで、山下さんのおっしゃるように、\renewcommand{\thempfootnote}{\thefootnote} とすれば、\footnotetext が使っている \thempfootnote が \thefootnote となって、脚註にも番号が付くことになるのですね。
ただ、これは、minipage の中で \footnotemark と \footnotetext を使うという例外的な場合についてうまくいくのであって、一般的にはやはり、おかしな再定義です。
私が理解した限りでは、こんな感じなのですが、これで当たっているのかな…。
ut 様
山下です.ご回答ありがとうございました.
> (1) は、普通に考えると、明らかにおかしいのですが、
ここがなぜおかしいのか,まだ理解できません.
昨晩ご回答を拝読し,咀嚼した上で返答しようと思ったのですが,すぐには理解できそうにないと思ったため,まずは御礼まで.
問題は,minipage 内外で footnote を別々に設定したならば単に体裁の好みというだけでなく,処理上生じ得る何等かの問題を回避するためだろうと思うのですが,どんな問題が起こり得るのか想像できないところにあると考えております.
単に minipage 内外では記号を分けた方が格好よかろう,という理由でしたら,私は内外で揃えた方が好みなので
\renewcommand{\thempfootnote}{\thefootnote}
でいいと割り切ってしまうのですが.
またしばらく考えてみます.
山下です.ご回答ありがとうございました.
> (1) は、普通に考えると、明らかにおかしいのですが、
ここがなぜおかしいのか,まだ理解できません.
昨晩ご回答を拝読し,咀嚼した上で返答しようと思ったのですが,すぐには理解できそうにないと思ったため,まずは御礼まで.
問題は,minipage 内外で footnote を別々に設定したならば単に体裁の好みというだけでなく,処理上生じ得る何等かの問題を回避するためだろうと思うのですが,どんな問題が起こり得るのか想像できないところにあると考えております.
単に minipage 内外では記号を分けた方が格好よかろう,という理由でしたら,私は内外で揃えた方が好みなので
\renewcommand{\thempfootnote}{\thefootnote}
でいいと割り切ってしまうのですが.
またしばらく考えてみます.
> ここがなぜおかしいのか,まだ理解できません.
例えば、“A” というカウンタがあるとき、普通、\theA は、カウンタ “A” の値を出力するためのものですよね (出力の形式は、アラビア数字だったりアルファベットだったりローマ数字だったり、\theA の定義によります)。
カウンタ “A” とは別のカウンタ “X” についても同様に、\theX は普通、カウンタ “X” の値を出力するものとして定義されていますよね。
ここで、
\renewcommand{\theA}{\theX}
と再定義してしまいますと、カウンタ “A” の値を出力すべき \theA が、カウンタ “X” の値を出力してしまうことになりませんか?
(この再定義は、「カウンタ “A” の出力形式をカウンタ “X” の出力形式に揃える」 という意味ではないと思うのですが…)
またまた訂正です…。
> まずは (2) についてですが、私が先の投稿で 「\protect を付ければ
> 大丈夫なのだから \footnote に細工します」 と書いたのは間違いですね。
> すいません。
と書きましたが、自分が最初の投稿で 「\protect を付ければ大丈夫なのだから」 と書いたときの意図を、今さらながら思い出しました。
「\protect を付ければ大丈夫なのだから」 と言ったときに考えていたのは、「minipage の中の \caption に註を付けるなら、\protect\footnotemark としなくとも、\protect\footnote とすれば大丈夫なのだから」 ということでした。
> つまり、一般に、\footnote は、minipage 環境の中では使えますが、
> table 環境の中では使えないようです。
ここも混乱してますね…。「table 環境の中では使えない」 ではなくて、「(minipage の中ではない) tabular 環境や table 環境の中では使えない」 と言わなければいけませんでした。朝早いので寝ぼけてます。
ですから、山下さんが、
> それは,footnote をいじる手は sidewaystable では通用するのですが,
> 通常の table では通用しないように思えるためです.
とおっしゃるのは誤解でらして、今回 \@makecaption の中で \footnote に細工をしたのは、(minipage の中の) \catpion の文字列に \footnote で註を付す場合に註番号が飛ばないようにするためであって、通常の tabular 環境や table 環境の中で \footnote を使うという趣旨ではそもそもありませんでした。
何か指摘を受けるとすぐに気が動転してしまう、という私の悪い癖がまた出てしまったようです…。
しつこくてすいません…。
上の投稿で既にお分かりいただけていると思うので蛇足でしかないのですが、
> なお,今回は footnote をいじるという手を教えて頂きましたが,
> 先日教えて頂いた footnotemark をいじるという手の方がよさそうに思います.
>
> それは,footnote をいじる手は sidewaystable では通用するのですが,
> 通常の table では通用しないように思えるためです.
は誤解です。
つまり、\@makecaption の中で \footnotemark なり \footnote なりに細工をするということと、通常の tabular の中で \footnotemark は使えるけれど \footnote は使えないということとは、無関係です。
ut 様
山下です.何度も丁寧なご回答ありがとうございました.またしても長々と御礼も致さず,申し訳ありませんでした.
まず,私がこれでいいのではないかと発言した件ですが,
>ここで、
>
> \renewcommand{\theA}{\theX}
>
>と再定義してしまいますと、カウンタ “A” の値を出力すべき \theA が、カウンタ “X” の値を出力してしまうことになりませんか?
了解しました.これではカウンタ「A」の存在を無視してしまうことになりますね.体裁を揃えるということばかりが気になって,気づきませんでした.
さて,カウンタ mpfootnote の存在意義について色々と調べておりましたところ,
吉永徹美,「LaTeX 2e 辞典」,翔泳社
に「局所的な注釈」という語があり,
\documentclass[a4j,10pt]{jsarticle}
\begin{document}
minipage 環境外部での脚注\footnote{minipage 環境外部の脚注.}の例です.
\begin{center}
\begin{minipage}{.2\linewidth}
minipage 内部では局所的な注釈\footnote{minipage 環境内部の局所的な注釈.}が使えます\footnotemark.
\end{minipage}
\end{center}
\footnotetext{この脚注に対する脚注記号は,minipage 環境内部にある.}
\end{document}
のような例があり,やっと腑に落ちました.minipage をコラムのように,他とは切り離して使う場合に役立つのですね.そんな使い方は思いもしなかったので,mpfootnote なんて無駄なものだと思っておりました.
最後になりますが,
> ここも混乱してますね…。「table 環境の中では使えない」 ではなくて、「(minipage の中ではない) tabular 環境や table 環境の中では使えない」 と言わなければいけませんでした。朝早いので寝ぼけてます。
> とおっしゃるのは誤解でらして、今回 \@makecaption の中で \footnote に細工をしたのは、(minipage の中の) \catpion の文字列に \footnote で註を付す場合に註番号が飛ばないようにするためであって、通常の tabular 環境や table 環境の中で \footnote を使うという趣旨ではそもそもありませんでした。
だけはどうしても未だに分かりません.要はマクロの理解力が低いのですが,教えて頂いた
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnote\footnote % <-- added
\renewcommand{\footnote}[2][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnote\save@footnote% <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax#2\par
\vskip\belowcaptionskip}}
を見る限り,ここでの caption は minipage 内の caption に限定しているのだ,ということが読み取れないのです.またしばらく考えてみます.
> しつこくてすいません…。
とんでもありません.丁寧に教えて頂き,大変勉強になります.
山下です.何度も丁寧なご回答ありがとうございました.またしても長々と御礼も致さず,申し訳ありませんでした.
まず,私がこれでいいのではないかと発言した件ですが,
>ここで、
>
> \renewcommand{\theA}{\theX}
>
>と再定義してしまいますと、カウンタ “A” の値を出力すべき \theA が、カウンタ “X” の値を出力してしまうことになりませんか?
了解しました.これではカウンタ「A」の存在を無視してしまうことになりますね.体裁を揃えるということばかりが気になって,気づきませんでした.
さて,カウンタ mpfootnote の存在意義について色々と調べておりましたところ,
吉永徹美,「LaTeX 2e 辞典」,翔泳社
に「局所的な注釈」という語があり,
\documentclass[a4j,10pt]{jsarticle}
\begin{document}
minipage 環境外部での脚注\footnote{minipage 環境外部の脚注.}の例です.
\begin{center}
\begin{minipage}{.2\linewidth}
minipage 内部では局所的な注釈\footnote{minipage 環境内部の局所的な注釈.}が使えます\footnotemark.
\end{minipage}
\end{center}
\footnotetext{この脚注に対する脚注記号は,minipage 環境内部にある.}
\end{document}
のような例があり,やっと腑に落ちました.minipage をコラムのように,他とは切り離して使う場合に役立つのですね.そんな使い方は思いもしなかったので,mpfootnote なんて無駄なものだと思っておりました.
最後になりますが,
> ここも混乱してますね…。「table 環境の中では使えない」 ではなくて、「(minipage の中ではない) tabular 環境や table 環境の中では使えない」 と言わなければいけませんでした。朝早いので寝ぼけてます。
> とおっしゃるのは誤解でらして、今回 \@makecaption の中で \footnote に細工をしたのは、(minipage の中の) \catpion の文字列に \footnote で註を付す場合に註番号が飛ばないようにするためであって、通常の tabular 環境や table 環境の中で \footnote を使うという趣旨ではそもそもありませんでした。
だけはどうしても未だに分かりません.要はマクロの理解力が低いのですが,教えて頂いた
\long\def\@makecaption#1#2{{\small
\advance\leftskip.0628\linewidth
\advance\rightskip.0628\linewidth
\vskip\abovecaptionskip
\let\save@footnote\footnote % <-- added
\renewcommand{\footnote}[2][]{} % <-- added
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\let\footnote\save@footnote% <-- added
\ifdim\wd\@tempboxa<\hsize\centering\fi
#1\hskip1zw\relax#2\par
\vskip\belowcaptionskip}}
を見る限り,ここでの caption は minipage 内の caption に限定しているのだ,ということが読み取れないのです.またしばらく考えてみます.
> しつこくてすいません…。
とんでもありません.丁寧に教えて頂き,大変勉強になります.
こういうやり取りで物事をご説明するのって、本当に難しいですね…。説明下手なせいで話が長引いてしまって申し訳ありません。
> 教えて頂いた
> \long\def\@makecaption#1#2{{\small
> ...
> \vskip\belowcaptionskip}}
> を見る限り,ここでの caption は minipage 内の caption に
> 限定しているのだ,ということが読み取れないのです.
今回 \@makecaption の中で \footnote に細工をしているのは 「minipage 内の \caption のため」 というのは、この再定義を見ただけで読み取れる話ではありません。文脈と言いますか、問題設定ゆえの帰結です。
元々のご質問は、rotating パッケージの sidewaystable 内で脚註を付けるにはどうすればよいか、というものでした。
そして、sidewaystable は、その中身を minipage に入れているということが分かりました。
sidewaystable の中で脚註を付けたい、という問題について考えるわけですから、すなわち、minipage の中で脚註を付ける場合の処理について、方策を探ることになります。
今回 \caption への脚註の件は、飽くまで副次的な問題でしたが、これも、sidewaystable 内、すなわち、minipage 内の \caption でどうすべきか、という問題となります。
副次的な問題への対処である、\@makecaption の再定義を見て、そこから主たる問題の背景に存在する条件を推測するというのは、当然困難だと思われます。
また、繰り返しになりますが、元々のご質問は sidewaystable の中での話だったはずなので、その後山下さんが、
> なお,今回は footnote をいじるという手を教えて頂きましたが,
> 先日教えて頂いた footnotemark をいじるという手の方がよさそうに思います.
>
> それは,footnote をいじる手は sidewaystable では通用するのですが,
> 通常の table では通用しないように思えるためです.
とおっしゃっるのは、話がズレてしまっています。ある特定の状況への回答に対して、それがより一般的な状況に適応できないので適切ではない、という話になってしまっています。
そのうえ、これも繰り返しになりますが、\@makecaption の中で \footnotemark ないし \footnote に細工をするかどうかということは、通常の tabular で \footnote が使えないということとは、関係がありません。
ut 様
山下です.またしても御礼が遅れて申し訳ありません.
> 元々のご質問は、rotating パッケージの sidewaystable 内で脚註を付けるにはどうすればよいか、というものでした。
その通りです.この件につきましてはお陰様で解決しました.
ただ,sidewaystable と普通の table を切り替える際に,\begin{...} と \end{...} の中だけを入れ替えれば十分なのか否を確かめたいと思った次第です.どうせなら,ここの交換だけで済むといいなと.
> 今回 \@makecaption の中で \footnote に細工をしているのは 「minipage 内の \caption のため」 というのは、この再定義を見ただけで読み取れる話ではありません。文脈と言いますか、問題設定ゆえの帰結です。
了解しました.定義としては,caption の定義を変えていたのですね.用途として minipage 内に限定していたはずなので 「minipage 内の \caption のため」という言い回しになっていたということでしょう.
問題の脱線にもご丁寧にお付き合い頂きましたため,キャプションに関して多くの知識を得ることができました.若干消化不良気味ですので,これから教えて頂いたことを整理しまして,どんなときに何をすればいいか,まとめておこうと思います.ありがとうございました.
山下です.またしても御礼が遅れて申し訳ありません.
> 元々のご質問は、rotating パッケージの sidewaystable 内で脚註を付けるにはどうすればよいか、というものでした。
その通りです.この件につきましてはお陰様で解決しました.
ただ,sidewaystable と普通の table を切り替える際に,\begin{...} と \end{...} の中だけを入れ替えれば十分なのか否を確かめたいと思った次第です.どうせなら,ここの交換だけで済むといいなと.
> 今回 \@makecaption の中で \footnote に細工をしているのは 「minipage 内の \caption のため」 というのは、この再定義を見ただけで読み取れる話ではありません。文脈と言いますか、問題設定ゆえの帰結です。
了解しました.定義としては,caption の定義を変えていたのですね.用途として minipage 内に限定していたはずなので 「minipage 内の \caption のため」という言い回しになっていたということでしょう.
問題の脱線にもご丁寧にお付き合い頂きましたため,キャプションに関して多くの知識を得ることができました.若干消化不良気味ですので,これから教えて頂いたことを整理しまして,どんなときに何をすればいいか,まとめておこうと思います.ありがとうございました.