TeXの非互換性2009年07月28日 12時43分05秒

文書データの互換性を確保するために私は昔からテキストファイルとTeX文書でドキュメントを作成することを進めてきました。

今回の10年以上前のLaTeX文書も現在の環境において何の問題もなく利用できるものと思っていました。

TeXは互換性という意味では一般的にはお勧め出来ないかも

要するに、ずっと昔から常にTeX環境の動向を追い続けている人たちにしか互換性は維持されていないかも、という印象です。

例えば以下のソースは処理できません。

\documentstyle{jarticle}
\begin{document}
\begin{equation}
V=V(x_0, \ldots, x_n)= \left(
  \begin{array}{cccc}
   1 & 1 & \cdots & 1 \\
   x_0 & x_1 & \cdots & x_n \\
   \vdots & \vdots & & \vdots \\
   x_0^n & x_1^n & \cdots & x_n^n
  \end{array}
  \right)
\end{equation}
\end{document}

これはTeXのすすめのサンプルです。

これを「latex sample.tex」というように処理させようとすると以下のエラーが出ます。

This is e-TeXk, Version 3.1415926-2.2 (Web2C 2009) (format=latex 2009.7.12)  28 JUL 2009 12:40
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**sample.tex
(./sample.tex
LaTeX2e <2005/12/01>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, german-x-2008-06-18, ngerman-x-2008-06-18, ancientgreek, ibycus, ar
abic, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutc
h, esperanto, estonian, farsi, finnish, french, galician, german, ngerman, mono
greek, greek, hungarian, icelandic, indonesian, interlingua, irish, italian, la
tin, latvian, lithuanian, mongolian, mongolian2a, bokmal, nynorsk, polish, port
uguese, romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedi
sh, turkish, ukenglish, ukrainian, uppersorbian, welsh, loaded.
(c:/tex/share/texmf/tex/latex/base/latex209.def
File: latex209.def 1998/05/13 v0.52 Standard LaTeX file


          Entering LaTeX 2.09 COMPATIBILITY MODE


*************************************************************
    !!WARNING!!    !!WARNING!!    !!WARNING!!    !!WARNING!!   

 This mode attempts to provide an emulation of the LaTeX 2.09
 author environment so that OLD documents can be successfully
 processed. It should NOT be used for NEW documents!
 
 New documents should use Standard LaTeX conventions and start
 with the \documentclass command.
 
 Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style
 files that change any internal macros, especially not with
 those that change the FONT SELECTION or OUTPUT ROUTINES.
 
 Therefore such style files MUST BE UPDATED to use
          Current Standard LaTeX: LaTeX2e.
 If you suspect that you may be using such a style file, which
 is probably very, very old by now, then you should attempt to
 get it updated by sending a copy of this error message to the
 author of that file.
  *************************************************************

\footheight=\dimen102
\@maxsep=\dimen103
\@dblmaxsep=\dimen104
\@cla=\count79
\@clb=\count80
\mscount=\count81
(c:/tex/share/texmf/tex/latex/base/tracefnt.sty
Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing)
\tracingfonts=\count82
LaTeX Info: Redefining \selectfont on input line 101.
)
\symbold=\mathgroup4
\symsans=\mathgroup5
\symtypewriter=\mathgroup6
\symitalic=\mathgroup7
\symsmallcaps=\mathgroup8
\symslanted=\mathgroup9
LaTeX Font Info:    Redeclaring math alphabet \mathbf on input line 293.
LaTeX Font Info:    Redeclaring math alphabet \mathsf on input line 294.
LaTeX Font Info:    Redeclaring math alphabet \mathtt on input line 295.
LaTeX Font Info:    Redeclaring math alphabet \mathit on input line 301.
LaTeX Info: Redefining \em on input line 311.

(c:/tex/share/texmf/tex/latex/base/latexsym.sty
Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols)
\symlasy=\mathgroup10
LaTeX Font Info:    Overwriting symbol font `lasy' in version `bold'
(Font)                  U/lasy/m/n --> U/lasy/b/n on input line 47.
)
LaTeX Font Info:    Redeclaring math delimiter \lgroup on input line 375.
LaTeX Font Info:    Redeclaring math delimiter \rgroup on input line 377.
LaTeX Font Info:    Redeclaring math delimiter \bracevert on input line 379.

(c:/tex/share/texmf/tex/latex/config/latex209.cfg
(c:/tex/share/texmf/tex/latex/tools/rawfonts.sty
Compatibility mode: package `' requested, but `rawfonts' provided.
Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility

(c:/tex/share/texmf/tex/latex/tools/somedefs.sty
Package: somedefs 1994/06/01 v0.03 Toolkit for optional definitions
)
LaTeX Font Info:    Try loading font information for U+lasy on input line 44.

(c:/tex/share/texmf/tex/latex/base/ulasy.fd
File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions
))))
(c:/tex/share/texmf/tex/jlatex/base/jarticle.cls)
(c:/tex/share/texmf/tex/jlatex/base/j-article.cls
Document Class: j-article 2000/05/19 v1.4b Standard JLaTeX document class
(c:/tex/share/texmf/tex/jlatex/base/j-size10.clo
File: j-size10.clo 2000/05/19 v1.4b Standard JLaTeX file (size option)

(c:/tex/share/texmf/tex/jlatex/base/jresize10.clo)
! Illegal unit of measure (pt inserted).
<to be read again> 
                   z
l.101   \setlength\parindent{1zw}
                                 
? 
! Emergency stop.
<to be read again> 
                   z
l.101   \setlength\parindent{1zw}
                                 
End of file on the terminal!
 
 
Here is how much of TeX's memory you used:
 372 strings out of 494448
 4390 string characters out of 1163007
 48908 words of memory out of 1500000
 3538 multiletter control sequences out of 15000+50000
 18987 words of font info for 72 fonts, out of 2000000 for 2000
 714 hyphenation exceptions out of 8191
 22i,0n,20p,301b,82s stack positions out of 3000i,500n,5000p,500000b,5000s
No pages of output.

訂正(latexコマンドではなくplatexコマンドを使う)

latexコマンドで処理できなかった上記のソースですが、platexコマンドの実行で処理できました。

ちょっと久しぶりに使う人間だと気付かないかも。

とは言え、どっちにしろ私の作成文書には処理できないものが多いようです。

ひとつひとつ解決していく根性もないので、結局処理できないドキュメントは捨てられることになってしまうでしょう。

バカらしいな。自分でTeXを推進してたのに・・・

例えば以下を使っている部分は正常処理できていません。

  • supertabular環境を使ったもの
  • picture環境を使ったもの
  • {\normalsize 文字}をつかったもの(文字に#が含まれるもの)

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログでは「組込み」と「組み込み」のどちらを使っている?

コメント:

トラックバック

このエントリのトラックバックURL: http://kumikomi.asablo.jp/blog/2009/07/28/4461013/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。