2段組で一部分だけ1段組にする方法(ぶち抜く)

2段組で一部分だけ1段組にする方法(ぶち抜く)

- 共振 回路 の投稿
返信数: 6

こんにちは、
添付は、下記から入手して、作成したものです。
2段組で一部分だけ1段組にする方法(ぶち抜く)を教えてください。
\begin{table*}
...
\end{table*}
にすると表が消えてしまいます。
http://www.atomiccollision.jp/collision/collision.html
ダウンロード
LaTeX用サンプルファイル:
総説・解説および原著論文
共振 回路 への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- m c の投稿
使用しているTeXシステムのバージョン情報とか,ログファイル等があるとコメントもつきやすいと思います.

ちなみに,当該htmlに記載されているサンプルファイルソースを当方のMacTeX 2019でコンパイル(ptex2pdf)してみると,ご指摘のように
table* 環境で作成されるべき表が見当たりません.
同様に,図も figure* としてみると消えますね.
auxファイルにもラベルが書き込まれていません.

逆に,*を外すと表示されます(段幅を超えてしまいますけど).

学会スタイルファイルのバージョンは2014/07/02 v2.1ですが,もしかするとpLaTeXやjarticleの現在のバージョンにそぐわない記述が figure*,table* ,フロート環境にあるのかもしれません.
スタイルファイルの909〜955行目でしょうか:
\def\figure{\let\cap@afterskip\relax\@float{figure}}
\def\endfigure{\end@float}
\@namedef{figure*}{\let\cap@afterskip\relax\@dblfloat{figure}}
\@namedef{endfigure*}{\end@float}
\@namedef{endfigure*}{\end@dblfloat}

\def\table{\let\cap@beforeskip\relax\@float{table}}
\def\endtable{\end@float}
\@namedef{table*}{\let\cap@beforeskip\relax\@dblfloat{table}}
\@namedef{endtable*}{\end@float}
\@namedef{endtable*}{\end@dblfloat}

\newdimen\cap@hsize
\newdimen\cap@linewidth
\let\latex@float\@float
\let\latex@dbflt\@dbflt
\def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float}
\def\@dbflt{\cap@linewidth\textwidth \cap@hsize\textwidth \latex@dbflt}
\let\latex@xfloat\@xfloat % 1.06(3)
\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\normalsize}
%\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\large\normalsize}
% 1.06(3)
\def\end@float{\flt@endfloat
\ifdim\bib@adjustheight=-\maxdimen\else
\advance\bib@adjustheight\@tempdima
\global\advance\bib@adjustheight\baselineskip \fi
\ifnum\@floatpenalty \textheight
\ht\@currbox\textheight \fi
\ifnum\@floatpenalty

詳しい方に解説いただけるとありがたいです.
m c への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- 共振 回路 の投稿
ご回答有難う御座います。
>使用しているTeXシステムのバージョン情報とか,ログファイル等があるとコメントもつきやすいと思います.
TeXworksについて
2007-2016
バージョン0.6.1
と表示します。
windows10で使っています。
すいません。詳しくないので、コンパイル時、成功した場合のログファイルのコピーの仕方が解りません。(ログの画面がすぐに消えてしまいます。)
>段幅を超えてしまいますけど
幅は、超えないように文字数を減らす少々の調整は可能で御座います。
何卒、よろしくお願いいたします。
 
共振 回路 への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- 岩熊 哲夫 の投稿
ご疑問をちゃんと理解していないかもしれませんが・・・

ひょっとして学会のファイルが古いのかなと思い,僕のようにシステムをアップデートしていない老人が platex してみましたが,問題なく一段の表が作れましたよ。理由はわかりません。なお,試したのは学会から直接ダウンロードしたパッケージのソースです。

This is e-pTeX, Version 3.14159265-p3.4-130605-2.6 (sjis) (TeX Live 2013/W32TeX) (preloaded format=platex 2014.3.26) 11 SEP 2019 08:22
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**sample_paper
(./sample_paper.tex
pLaTeX2e <2006/11/10> (based on LaTeX2e <2011/06/27> patch level 0)
Babel <3.9k> and hyphenation patterns for 78 languages loaded.
(c:/usr/local/share/texmf-dist/tex/platex/base/jarticle.cls
Document Class: jarticle 2006/06/27 v1.6 Standard pLaTeX class
\c@@paper=\count81
(c:/usr/local/share/texmf-dist/tex/platex/base/jsize10.clo
File: jsize10.clo 2006/06/27 v1.6 Standard pLaTeX file (size option)
)
共振 回路 への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- m c の投稿
コンパイル時のログは,TeXソースファイルと同じフォルダに拡張子".log"で記録されています.
テキストファイルですので,任意のテキストエディタで開くことができます.

一番手っ取り早いのは,学会事務局に連絡してスタイルファイルを現在のTeX環境に合うよう修正してもらうことでしょうか.
ただ時間がかかると思いますが,今後も共振回路さんと同じような状況はTeXのスタイルファイルを提供している限り多発するはずです.
その意味で,学会側で対処するのが筋のように思います.

あと,TeXソースファイルのプリアンブルに何かを書く方法で解決できたとして,学会事務局がそれを受付けてくれるかどうかも確認が
必要です(電子情報通信学会や電気学会は認めています).

現状で確実に受付けてもらう原稿を書くのであれば
・手段1:岩熊さんがされたように,古いTeXシステムを使う
・手段2:table*環境を用いず,table環境で片段に収まる表にする
くらいしか方法がないように思います.
m c への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- 共振 回路 の投稿
m c 様、岩熊様
ご回答有難う御座います。

>問題なく一段の表が作れましたよ。
>(TeX Live 2013/W32TeX)
お試して頂き有難う御座いました。でも古いTeXシステムがないです。
>TeXソースファイルと同じフォルダに拡張子".log"で記録されています.
解りました。今後、必要時に見るように致します。
>・手段1:岩熊さんがされたように,古いTeXシステムを使う
>・手段2:table*環境を用いず,table環境で片段に収まる表にする
解りました。手段2の方法で何とかするように致します。
今後とも、ご指導の程、宜しくお願い致します。
 
m c への返信

Re: 2段組で一部分だけ1段組にする方法(ぶち抜く)

- aminophen の投稿
以前の別の質問への回答にも書きましたが,
「LaTeX や pLaTeX のバージョンが違うことが原因で結果が異なる」
と思われる場合は,デバッグ手段として platexrelease パッケージが有効です。

今回は,学会のページからダウンロードした sample_paper.tex の冒頭に
\RequirePackage[2014/12/31]{platexrelease}
を足してみると,表が1段組で表示されました。一方
\RequirePackage[2015/01/01]{platexrelease}
に変えてみると,表が消えてしまいました。

要するに,
(1) LaTeX2e 2015/01/01 付で何かしら table* 環境に仕様変更があったらしい
(2) この変更に学会クラスが追随できていない
ことまでは推測できます。

-----

さて,ここからは数年前の知識を引っ張り出す必要があります。
https://okumuralab.org/tex/mod/forum/discuss.php?d=1558
にもあるように,LaTeX2e 2015/01/01 版では物凄く沢山の修正が行われました。
これは,それ以前が

「(たとえバグと思われても)非互換な修正はしない」

という方針だったのに対し,LaTeX2e 2015/01/01 以降は

「バグは直す」
※ その影響で既存の文書の組版結果が変わる場合もあるし,以前通ったソースがエラーになる場合もある。

という方針に大転換した結果です。今回報告された変化も,この一種だと思っています。

ターミナル(あるいは Windows ならコマンドプロンプト等)から
$ texdoc latexchanges
と打つと latexchanges.pdf という PDF ドキュメントが開きます。
その中に,最近の LaTeX2e の変更点がまとめられていますが,

> 25.6 1-col fig can come before earlier 2-col fig (pr/2346)

つまり「フロート (table, figure, etc.) の並び順序がおかしくなるバグを修正した」というのが
該当しそうな気がします。