ascolorboxがlualatexで使用できない

ascolorboxがlualatexで使用できない

- あ い の投稿
返信数: 2
【ascolorbox.styのsimsplesquareboxが使えません。】

(ascolorbox.sty入手場所)
https://github.com/yasunari/ascolorbox

他のボックスは使えるのですが,なぜかsimplesquareboxのみコンパイル時に
! Illegal unit of measure (pt inserted). <to be read again>
とエラーが出てしまいます。
macだけでなくcloudlatexでも同様の結果を得たので設定に問題があるということはないと思います。
なおascolorbox.styは最初の行に
\NeedsTeXFormat{pLaTeX2e}
とあるのでコメントアウトしました。
simplesquareboxの定義は以下です。(一応)

\usepackage{tikz,tcolorbox,varwidth,multicol}

\usetikzlibrary{calc}
\tcbuselibrary{xparse,hooks,skins,breakable}

\DeclareTColorBox{simplesquarebox}{ o m O{.5} O{} }%
{empty, left=2mm, right=2mm, top=-1mm, attach boxed title to top left={xshift=1.2zw}, boxed title style={empty,left=-2mm,right=-2mm}, colframe=black, coltitle=black, coltext=black, breakable,
underlay unbroken={\draw[black,line width=#3pt](title.east) -- (title.east-|frame.east) -- (frame.south east) -- (frame.south west) -- (title.west-|frame.west) -- (title.west); },
underlay first={\draw[black,line width=#3pt](title.east) -- (title.east-|frame.east) -- (frame.south east) ;
\draw[black,line width=#3pt] (frame.south west) -- (title.west-|frame.west) -- (title.west); },
underlay middle={\draw[black,line width=#3pt](frame.north east) -- (frame.south east) ;
\draw[black,line width=#3pt](frame.south west) -- (frame.north west) ;},
underlay last={\draw[black,line width=#3pt](frame.north east) -- (frame.south east) -- (frame.south west) -- (frame.north west) ;},
fonttitle=\gtfamily, IfValueTF={#1}{title=【#2】〈#1〉}{title=【#2】},#4}

コンパイル内容は以下です。(コンパイラ:lualatex)

\documentclass{ltjsarticle}

\usepackage{luatexja}
\usepackage{luatexja-fontspec}
\usepackage{luatexja-otf}

\begin{document}

\begin{simplesquarebox}[subtitle]{maintitle}
contents
\end{simplesquarebox}

\end{document}

やはり無理矢理ascolorboxをlualatexで用いるのは無茶なのでしょうか。
解答よろしくお願いします。
あ い への返信

Re: ascolorboxがlualatexで使用できない

- 和田 勇 の投稿
  • ! Illegal unit of measure (pt inserted).

    • このメッセージは不明な長さの単位があるというものです。

    • 以前、ceo や emath が lualatex で利用できない原因と同様と思います。

    • ascolorbox.sty の記述の中にはこの「zw」が二箇所あります。

    • どうしても lualatex で利用したいのであれば「zw] の前にバックスラッシュ」をつけた「\zw」とするか 長さは要検討ですが「mm」「pt」の単位系に変えたものなを「独自の名前」のものとしてプリアンブルで定義すれば良いのでは。

    • もちろん、「zw」を「\zw」とかに書き換えても良いのですが

    • ちなみにもう一つの zw は2段組にした時にcolsep を設定する際におそらくエラーが出ると思います。

  • ascolorbox.sty をカスタマイズしたいのであれば

    ascolorbox.sty は pLateX2e で使ってねと最初に書かれているのですが 敢えて lualatex で使うのであれば、

         「\NeedsTeXFormat{pLaTeX2e}」
      は「\NeedsTeXFormat{LaTeX2e}」
    

    とし、さらにファイル名はカスタマイズしたことがわかるように

           myAscolorbox.sty
    

    とかにしたほうが良いでしょう

和田 勇 への返信

Re: ascolorboxがlualatexで使用できない

- あ い の投稿
和田さまご返信ありがとうございます。
「zw」はフォントサイズに合わせて「pt」で定義しなおしました。
無事望んでいたものを得ました。
ありがとうございました。