Re: You can't use `\unskip' in vertical mode

名前: 本田
日時: 2010-03-14 11:18:59
IPアドレス: 220.147.90.*

>>54726 ちょっと苦言です. debugを人に頼む前にもっと最小に削ることを考えましょう. それに・・・そもそもソースとログが違います. 複雑な分岐を追いかける前に,エラーがでてるのが 「最後から一個前の分岐」だということがエラーから分かるので そこだけを処理させるということが必要です. そうすると %\documentclass{jarticle} % \documentclass{jsarticle} % \begin{document} \section{A} \unskip \end{document} だけで発生することが分かります. つぎにログで ! You can't use `\unskip' in vertical mode といわれているのだから, \unskipが垂直モードで使われているのは自明です. たしかに段落の開始前に\unskipがあります. あと残っているものは\sectionだけ. そこで\sectionをはずすと・・・ 今度はjsclasses/jclassesに関係なくエラーがでない. ということでjsclassesとjclassesの\sectionの違いに 原因があるとなるのです. そうなると今度はjsclassesの\@startsectionをみればよく \@xsectの最後の\parででてることがわかりますが, これはわざわざ追加されてるんですから意味があるのでしょう #jsclassesは段落の先頭に細工がしてあるので #こういうのを不用意にさわるとどうなるかは分かりません. したがって解決策としては「マクロの仕様」を変える, このように「マクロに索引を忍び込ませる」ことそのものを やめることです. マクロに索引を忍び込ませる人はよくいるのですが とくに出版が絡む(≒TeXやデータ構造を知らない編集者が絡む)と ろくなことになりません. ========== けどわからないのは ! You can't use `\unskip' in vertical mode はどういうタイミングででるんでしょう(-_-; %#!tex \unskip \bye だと出ないんですよねえ・・・

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)