図の通し番号がずれてしまう

図の通し番号がずれてしまう

- 児島 政洋 の投稿
返信数: 6
以下のコードだと私が「図1」としたい図が「図3」となってしまい、以後「図2」が「図1」、「図3」が「図2」とずれてしまいます。どのように直せば良いでしょうか。


\documentclass{jsarticle}
\usepackage{emathCap}
\usepackage{emathMw}

\begin{document}

\setlength\unitlength{10mm}
\begin{mawarikomi}{5cm}{
\begin{picture}(0,0)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図2}}
\end{picture}
\fgcaption{}\label{fg2}

\begin{picture}(0,5)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図3}}
\end{picture}
\fgcaption{}\label{fg3}
}
\begin{picture}(5,5)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図1}}
\end{picture}
\fgcaption{}\label{fg1}
\end{mawarikomi}
\end{document}
児島 政洋 への返信

Re: 図の通し番号がずれてしまう

- 本田 知亮 の投稿
三番目のキャプションに
fg1ってラベルをつければ
そりゃ
\ref{fg1}で「3」になるのは当然でしょう?

そう書いているから
そうなるのです.

見た目が最初に見えても
処理の順番と一致しなければ
無意味です.
本田 知亮 への返信

Re: 図の通し番号がずれてしまう

- 児島 政洋 の投稿
ありがとうございます。

>見た目が最初に見えても
>処理の順番と一致しなければ
>無意味です.

それは分かっているのですが、文章の回りこみの関係で本来一番最初に書かなければならないコードを最後に書かないといけないもので。。。
児島 政洋 への返信

Re: 図の通し番号がずれてしまう

- Akira Kakuto の投稿
こんなことしないでしょうが...
\documentclass{jsarticle}
\usepackage{emathCap}
\usepackage{emathMw}
\makeatletter
\def\zurasu#1{\advance \c@figure by #1}
\makeatother
\begin{document}

\setlength\unitlength{10mm}
\begin{mawarikomi}{5cm}{
\begin{picture}(0,0)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図2}}
\end{picture}
\zurasu1
\fgcaption{}\label{fg2}

\begin{picture}(0,5)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図3}}
\end{picture}
\fgcaption{}\label{fg3}
}
\begin{picture}(5,5)(0,0)
\put(0,0){\dashbox{0.2}(4,4){本当はこいつが図1}}
\end{picture}
\zurasu-3
\fgcaption{}\label{fg1}
\end{mawarikomi}
\zurasu2
\end{document}

児島 政洋 への返信

Re: 図の通し番号がずれてしまう

- 本田 知亮 の投稿
>それは分かっているのですが、文章の回りこみの関係で本来一番最初に書かなければならないコードを最後に書かないといけないもので。。。

こういうのを「後だしじゃんけん」というのです.
文字コミュニケーションで
技術的な話をする際には
話を混乱させる一番の要因です.


これの解決策は
すでに角藤先生がお示しになってる通り
カウンタを局所的に操作することです.

しかし,原則的には

>本来一番最初に書かなければならないコードを最後に書かないといけない

こういう事態が発生しないように
きちんと構造やレイアウトを考慮することが
先決です.
児島 政洋 への返信

Re: 図の通し番号がずれてしまう

- 若 雲 の投稿
本当はも何も、ソースの上から見てカウンタを増やして
いくだけなので、図1にしたいものを先に書けばいいのでは。