-% \section{段落の頭へのグルー挿入禁止}
-%
-% 段落頭のかぎかっこなどを見かけ1字半下げから全角1字下げに直します。
-%
-% \begin{macrocode}
-\def\@inhibitglue{%
- \futurelet\@let@token\@@inhibitglue}
-\def\@@inhibitglue{%
- \ifx\@let@token「
- \inhibitglue
- \else
- \ifx\@let@token(
- \inhibitglue
- \else
- \ifx\@let@token『
- \inhibitglue
- \else
- \ifx\@let@token[
- \inhibitglue
- \fi
- \fi
- \fi
- \fi}
-\let\everyparhook=\@inhibitglue
-\AtBeginDocument{\everypar{\everyparhook}}
-% \end{macrocode}
-%
-% これだけではいけないようです。あちこちに |\everypar| を初期化するコマンドが
-% 隠されていました。
-%
-% まず,環境の直後の段落です。
-%
-% \begin{macrocode}
-\def\@doendpe{%
- \@endpetrue
- \def\par{%
- \@restorepar\everypar{\everyparhook}\par\@endpefalse}%
- \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
-% \end{macrocode}
-%
-% |\item| 命令の直後です。
-%
-% \begin{macrocode}
-\def\@item[#1]{%
- \if@noparitem
- \@donoparitem
- \else
- \if@inlabel
- \indent \par
- \fi
- \ifhmode
- \unskip\unskip \par
- \fi
- \if@newlist
- \if@nobreak
- \@nbitem
- \else
- \addpenalty\@beginparpenalty
- \addvspace\@topsep
- \addvspace{-\parskip}%
- \fi
- \else
- \addpenalty\@itempenalty
- \addvspace\itemsep
- \fi
- \global\@inlabeltrue
- \fi
- \everypar{%
- \@minipagefalse
- \global\@newlistfalse
- \if@inlabel
- \global\@inlabelfalse
- {\setbox\z@\lastbox
- \ifvoid\z@
- \kern-\itemindent
- \fi}%
- \box\@labels
- \penalty\z@
- \fi
- \if@nobreak
- \@nobreakfalse
- \clubpenalty \@M
- \else
- \clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}%
- \if@noitemarg
- \@noitemargfalse
- \if@nmbrlist
- \refstepcounter\@listctr
- \fi
- \fi
- \sbox\@tempboxa{\makelabel{#1}}%
- \global\setbox\@labels\hbox{%
- \unhbox\@labels
- \hskip \itemindent
- \hskip -\labelwidth
- \hskip -\labelsep
- \ifdim \wd\@tempboxa >\labelwidth
- \box\@tempboxa
- \else
- \hbox to\labelwidth {\unhbox\@tempboxa}%
- \fi
- \hskip \labelsep}%
- \ignorespaces}
-% \end{macrocode}
-%
-% 二つ挿入した |\everyparhook| のうち後者が |\section| 類の直後に2回,
-% 前者が3回目以降に実行されます。
-%
-% \begin{macrocode}
-\def\@afterheading{%
- \@nobreaktrue
- \everypar{%
- \if@nobreak
- \@nobreakfalse
- \clubpenalty \@M
- \if@afterindent \else
- {\setbox\z@\lastbox}%
- \fi
- \else
- \clubpenalty \@clubpenalty
- \everypar{\everyparhook}%
- \fi\everyparhook}}
-% \end{macrocode}
-%
-% |\@gnewline| についてはちょっと複雑な心境です。
-% もともとのp\LaTeXe は段落の頭にグルーが入る方で統一されていました。
-% しかし |\\| の直後にはグルーが入らず,不統一でした。
-% そこで |\\| の直後にもグルーを入れるように直していただいた経緯があります。
-% しかし,ここでは逆にグルーを入れない方で統一したいので,
-% また元に戻してしまいました。
-%
-% しかし単に戻すだけでも駄目みたいなので,ここでも最後にグルーを消しておきます。
-%
-% \begin{macrocode}
-\def\@gnewline #1{%
- \ifvmode
- \@nolnerr
- \else
- \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
- \inhibitglue \ignorespaces
- \fi}
-% \end{macrocode}
-%