tcolorbox + run pdflatex でサブディレクトリーにあるファイルを使いたい

Re: tcolorbox + run pdflatex でサブディレクトリーにあるファイルを使いたい

- 和田 勇 の投稿
返信数: 0

不明なところがあるのですが、誤った情報の訂正を含めての報告です。

  • \filename@areaは必ず / で終わる

    デバッグ文を挿入して確認したはずなのに、見落としていました。

  • \@mylisting[#1]{\filename@area}{\filename@base.\filename@ext}無限ループ

    再現します。原因はわかりません。

  • \mylisting{a/filename}NG

    これも再現しました。\filename@ext\relax にもなっていないようです。

    またループ状態に陥ります。

  • デバッグ

    以下のようなデバッグコードで改めて検証してみました。

    \newcommand{\mylisting}[2][]{
      \typeout{DEBUG --------------------}
      \typeout{DEBUG 第2引数[#2] filename@parse前}% \filename@base の前後で #2 が変化する
      %%%
      \filename@parse{#2}    \typeout{DEBUG 第2引数[#2] filename@parse後}
      \edef\d{\filename@area}\typeout{DEBUG 第2引数[#2] filename@area後}
      \edef\f{\filename@base}\typeout{DEBUG 第2引数[#2] filename@base後}
      \edef\e{\filename@ext} \typeout{DEBUG 第2引数[#2] filename@ext後}% @ext を先に実行しても @base で変化
      %%%
      \typeout{DEBUG area=[\filename@area][\d]}
      \typeout{DEBUG base=[\filename@base][\f]}
      \typeout{DEBUG  ext=[\filename@ext][\e]}
      \typeout{DEBUG @ @ @ mylisting[#1]{\filename@area}{\filename@base.\filename@ext}}
      \typeout{DEBUG f b e mylisting[#1]{\d}{\f.\e}}
      \typeout{DEBUG --------------------}
      %%%
      \\@mylisting[#1]{\d}{\f.\e}% OK
      % \\@mylisting[#1]{\filename@area}{\filename@base.\filename@ext}% NG
    }
    

 検証に用いたソースも念の為添付します。

 a/b/c.tex や ./e.tex 添付していませんので pdflatex での処理可能なものを利用してください。