latexmk と pdfluatex を使用して破線グリッドを生成しようとしたときにエラーが発生しました

latexmk と pdfluatex を使用して破線グリッドを生成しようとしたときにエラーが発生しました

なぜなら、次のスタイル \ tikzset {mygridstyle / .style = {dash pattern = on 5pt off 3.5pt on 7pt}} を「on」オプションで開始するのではなく、「off」オプションで開始すると、機能しないからです。

「on」で始まる私の MWE は次のとおりです。

\ documentclass {article}
\ usepackage {tikz}
\ tikzset {mygridstyle / .style = {dash pattern = on 5pt off 3.5pt on 7pt}}
\ begin {document}
\ begin {tikzpicture}
\ draw [mygridstyle] (0,0) grid (8,11);
\ end {tikzpicture}
\ end {document}

「オフ」オプションを設定した私の MWE は次のとおりです。

\ documentclass {article}
\ usepackage {tikz}
\ tikzset {mygridstyle / .style = {dash pattern = off 5pt off 3.5pt on 7pt}}
\ begin {document}
\ begin {tikzpicture}
        \ draw [mygridstyle] (0,0) grid (8,11);
\ end {tikzpicture}
\ end {document}

ターミナル シェル スクリプトでコマンド latexmk -pdflua -pvc MWE.tex を実行しようとすると、次のエラー メッセージが表示されます。

! \ tikz @ scandashon の使用は定義と一致しません。 off 5pt off 3.5pt on 7pt l.6 \ draw [mygridstyle] (0,0) grid (8,11); ?

答え1

破線パターンは で始まる必要がありますon。 で始めたい場合はoff、その前に を追加するだけですon 0pt

\documentclass{article}
\usepackage{tikz}
\tikzset{mygridstyle/.style={dash pattern=on 0pt off 5pt on 5pt off 3.5pt on 7pt}}
\begin{document}
\begin{tikzpicture}
        \draw [mygridstyle] (0,0) grid (8,11);
\end{tikzpicture}
\end{document}

関連情報