Erro ao tentar gerar grade tracejada com latexmk e pdfluatex

Erro ao tentar gerar grade tracejada com latexmk e pdfluatex

Porque quando inicio o seguinte estilo \tikzset {mygridstyle / .style = {dash pattern = on 5pt off 3.5pt on 7pt}} com a opção "off" em vez de começar com a opção "on", isso não funciona?

Aqui está meu MWE começando com "on":

\ 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}

Aqui está meu MWE com a opção "desligado":

\ 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}

Quando tento executar o comando latexmk -pdflua -pvc MWE.tex no script de shell do terminal, recebo a seguinte mensagem de erro:

! O uso de \tikz@scandashon não corresponde à sua definição. off 5pt off 3,5pt on 7pt l.6 \ draw [mygridstyle] (0,0) grid (8,11); ?

Responder1

Os padrões de traço precisam começar com on. Se você quiser começar com um off, basta adicionar um on 0ptantes disso.

\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}

informação relacionada