ローカル環境になるとエラー出て困っています。

ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿
返信数: 10
添付したtest.texというファイルをCloud LaTeXでコンパイルするとエラーが発生せずpdfが出力され,私のローカル環境でコンパイルするとエラーが発生し,壊れたpdfファイルが出力されます。logファイルを添付させていただいております。
エラーに
! Undefined control sequence.
<argument> \ifnum \c@secnumdepth >\m@ne \@chapapp
\ \thechapter . \ \fi かきくけこ
l.64 \section
{さしすせそ}
と表示されるのでそれが原因だと思います。
PS:エラーの原因として思い当たるのが目次をカスタマイズしようとしてjlreqのclsから目次の定義部分を探してコピー&ペーストしました。その時,エラーの原因となる何かをしてしまったのだと思います。ただ,clsの更新時刻は,インストールした時のままでした。

よろしくお願いします。
伊藤 直人 への返信

Re: ローカル環境になるとエラー出て困っています。

- k j の投稿
対症療法にしか過ぎませんが、
jlreqとfancyhdrの併用が問題を起こしているようです。


いただいたファイルをローカルのtex live環境でコンパイルすると
同じエラーが発生しましたが、
fancyhdrの読み込みと、関連する部分をコメントアウトするとコンパイルできました。

逆に、クラスファイル指定とfancyhdr関係を除くプリアンブルの他の部分を
すべてコメントアウトしコンパイルすると、やはり同じエラーが発生しました。


検索すると、このような断片的な情報もありました。
https://twitter.com/hid_alma1026/status/1198913926445944833
k j への返信

Re: ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿
kj様
有益な情報ありがとうございます。
fancyhdrが原因のエラーだとは,思っておりませんでしたので大変助かりました(jlreqの環境を壊してなくて良かったです)。
PS:CloudLaTeXは,コンパイルエンジンがlualatexのときTeXLive2020が動作するようですが私の環境は,TeXLive2021ですのでバージョンによってエラーの出る出ないがあるのだと思います。
伊藤 直人 への返信

Re: ローカル環境になるとエラー出て困っています。

- 和田 勇 の投稿

伊藤直人さんの提示されたソースを使って 2020 の環境では、 lualatex で処理できますね。 2021 は伊藤さんの報告のあったエラーが出ます。

jlreq.cls と fancyhdr.sty の md5 ハッシュ値は以下の通り。

         868bc0d61432c75e3e1211d1d9b8c17c  /usr/local/texlive/2020/texmf-dist/tex/latex/jlreq/jlreq.cls
         fabb6dc3f8b8b91195b34f374a062517  /usr/local/texlive/2021/texmf-dist/tex/latex/jlreq/jlreq.cls

         7ed8cbc4d361ec87392817e0dd4f65ec  /usr/local/texlive/2020/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
         7ed8cbc4d361ec87392817e0dd4f65ec  /usr/local/texlive/2021/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty

ちょっと時間がないので、報告まで。

和田 勇 への返信

Re: ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿
和田様
検証いただきありがとうございます。やはり,バージョンによってエラーの有無が変わるのですね。
また,和田さんにご提供いただいたmd5のハッシュ値を見る限りfancyhdrは,2020と2021で違いが無いようなのでjlreqのアップデートにより,相性問題が生じてしまったという感じでしょうか。
jlreqとfancyhdrは,どちらもよいものなので相性に問題があるようなら何か対策を考えなくては,なりませんがその対策をどうすべきか悩んでいます。
厚かましいようですが何かいい対策は,ないでしょうか。
お時間がある時にご教授いただければ幸いです。
伊藤 直人 への返信

Re: ローカル環境になるとエラー出て困っています。

- 和田 勇 の投稿

2020 vs 2021 でのエラーに関して

差分がある jlreq をまずはチェックするのが王道かと思います。 もちろん fancyhdr が元々持っていた不具合や他の修正も検討が必要ですが

#この分野、私は不得手なので、追跡作業は、時間があるときになります

jlreq with fancygdr?

jlreq を使っていない時代は、 fanchdr を多用していましたね。 いろいろな情報もあるので便利に使っていました。

一線を退いていることもありますが、jlreq を使うようになって fancyhdr はあまり使わなくなっている「気」がします :-) 可能であれば jlreq の持っているヘッダー・フッター機能を 利用することも多くなってきましたね。

ということで まだまだ情報は fancyhdr に比べ情報量は少ないのですが jlreq の機能を試されてはいかがでしょうか。

コマンドプロンプトで以下のコマンドを実行するとマニュアルを見ることができます。

 texdoc jlreq-ja
和田 勇 への返信

Re: ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿
和田様
返信ありがとうございます。
jlreqを使うときは, fanchdrよりヘッダー・フッター機能を使ったほうがいいとのことでマニュアルで勉強してみましたが慣れないせいか難しいですね。これから勉強して,可能であればTeXWikiに使い方を分かりやすく書けたらと思います。
伊藤 直人 への返信

Re: ローカル環境になるとエラー出て困っています。

- 和田 勇 の投稿

texdoc だけの情報だけでは不足気味感は拭えないので、 伊藤さんが fancyhdr でやろうとしていたことを jlreq で実装したいのですが、時間が今はないので 情報だけ。

       % にっき♪ の 2018年8月10日 の書き込み
       % http://abenori.blogspot.com/2018/08/jlreq-declarepagestyle-declarepagestyle.html

       % (Linux) upLaTeX + jlreq で小説原稿を作る
       % https://aznote.jakou.com/linux/latex_novel.html

二つ目の方を利用して、標準でページ番号が下部中央から下部左に変更する例をサンプルとして添付します。アーカイブした内容は以下の通り。

Archive:  jlreq-test.zip
Zip file size: 152670 bytes, number of entries: 5
drwxr-xr-x  3.0 unx        0 bx stor 22-Feb-18 23:42 jlreq-test/
-rw-r--r--  3.0 unx      421 tx defN 22-Feb-18 23:42 jlreq-test/jlreq-test.aux
-rw-r--r--  3.0 unx    29306 tx defN 22-Feb-18 23:42 jlreq-test/jlreq-test.log
-rw-r--r--  3.0 unx   146260 bx defN 22-Feb-18 23:42 jlreq-test/jlreq-test.pdf
-rw-r--r--  3.0 unx     1505 tx defN 22-Feb-18 23:42 jlreq-test/jlreq-test.tex
和田 勇 への返信

Re: ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿

和田様 お気遣いいただきありがとうございます。

実は,私もあの後研究して一応,fancyhdrで使って私がしようとしていたものは,最初の質問のものと内容が少し異なりますが添付ファイルにあるようにできました。※名前以外の個人情報は,「hogehoge」,「ほげほげ」などで置換しています。

伊藤 直人 への返信

Re: ローカル環境になるとエラー出て困っています。

- 和田 勇 の投稿

4000 件近いデータの項目チェックから現実逃避中 :-)

すごい&祝「卒業」fancyhdr!!

ついでにお節介ツブヤキ :-) なので、お暇な時にご笑納いただければと思います。

tex のクラスやスタイルファイルでは、オプション値を key value で するものも多いです。 でも多くの例が「key=value,」として「=」や「,」の 前後の空白なしや、複数の設定をまとめて一行にしている例が多い。 多数あったり、一行にまとめられてしまうともはや「呪文」。

LaTeX で処理できれば良いじゃないという声もあるけど、 LateX ソースももっと人に読みやすいように記述したほうが良いと思っている。 なので、エディタの編集機能を使って「=」などを揃えると、何を設定しているのかが分かりやすくなると信じています。 私は emacs の align-regexp とかを利用していますが、vscode や vim にもきっと類似の機能があると思う。 もしかしたら「マルチカーソル」かも。

で、伊藤さんの設定を私のポリシーで編集すると

    \NewPageStyle{preport}{
        running_head_position = top-left                            ,
        nombre_position       = bottom-center                       ,
        nombre_ii_position    = bottom-right                        ,
        nombre                = \thepage/\pageref{LastPage}         ,
        nombre_ii             = 作成者:hogehoge 名無しの権平       ,
        odd_running_head      = \textbf{\Large ほげほげ実験 報告書} ,
    }

同じような理由で上記に関する定義の直後の呪文のように見える「\newtcbox{\point}」を以下のように表現すると、 「色」や「tikz」のところの処理が浮き出てくるように見えるのではと思います。 キーが増えて来たらソートしておくのも手です。

   \newtcbox{\point}{
     enhanced                                      ,
     nobeforeafter                                 ,
     tcbox raise base                              ,
     boxrule      = 0.4pt                          ,
     top          = 0mm                            ,
     bottom       = 0mm                            ,
     right        = 0mm                            ,
     left         = 4mm                            ,
     arc          = 1pt                            ,
     boxsep       = 2pt                            ,
     before upper = {\vphantom{dIg}ポイント\relax} ,
     colframe     = murasaki                       ,
     coltext      = murasaki!25!black              ,
     colback      = murasaki!10!white              ,
     overlay      = {
       \begin{tcbclipinterior}
         \fill[murasaki] (frame.south west)
         rectangle node[text=white,font=\bfseries] {!} ([xshift=4mm]frame.north west);
       \end{tcbclipinterior}
     },
   }
和田 勇 への返信

Re: ローカル環境になるとエラー出て困っています。

- 伊藤 直人 の投稿
和田様

お忙しいところありがたいをアドバイスいただきありがとうございます。

確かに和田さんがお示しなられたポリシーの基づいたものにすると内容を同じでも随分見やすいですね。
今後,TeXフォーラムお世話になることや誰かに自分のLaTeXコードを見せることもあるやもしれないので今後は,和田さんにご教授いただいたポリシーを意識して編集したいと思います。