
言い換えれば、Tex でコンパイルされるすべてのテキスト ファイルのセットは、連結時にモノイドを形成しますか?
最近、プレーン テックスを少し触ったところ、代数に関するスパイダー センスがすぐに刺激されました。答えは Google で簡単に検索できると思いましたが、今のところ何も見つかりません。
答え1
まず、プレーン tex ファイルは で終わり\bye
(latex ファイルは で終わります\end{document}
)、その後のすべては無視されます。したがって、連結後に 2 番目のファイルは無視されるため、あなたの記述は当然正しいです。
\bye
連結で削除された「メタコマンド」と考えると、あなたの記述は誤りです。
ファイルを検討する
\def\aa{0}
\aa
\bye
そして
\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye
それぞれはコンパイルされますが、連結はコンパイルされません。
\def\aa{0}
\aa
\def\bb{0}
\bb
\ifx\aa\bb\cc\fi
\bye
生産する
! Undefined control sequence.
l.5 \ifx\aa\bb\cc
\fi
?
! Emergency stop.
その理由は、 undefined は2 番目のファイルでは undefined ですが、連結されたファイルでは\aa
同じだからです。\bb
答え2
プレーン TeX では、適切にフォーマットされたファイルは で終わり、\bye
コンパイラに入力の検索を停止するように指示します。したがって、連結では最初のファイルのみがコンパイルされ、残りは無視されます。(つまり、できません。) LaTeX では、コンパイル可能なファイルは\end{document}
再び で終わり、コンパイラに完了を通知します。したがって、連結の最初のファイルのみがコンパイルされ、残りは無視されます。さらに、2 番目のファイルには、 i が見つかった場合にコンパイル エラーが発生する場所にプリアンブルが配置されます。(つまり、できません。)
パッケージ、フォント、入力ファイルなどの追加の影響については説明しません。