尝试使用 latexmk 和 pdfluatex 生成虚线网格时出错

尝试使用 latexmk 和 pdfluatex 生成虚线网格时出错

因为当我以“off”选项启动以下样式 \ tikzset {mygridstyle / .style = {dash pattern = on 5pt off 3.5pt on 7pt}} 而不是以“on”选项启动时,这不起作用吗?

这是我的 MWE,以“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}

这是我的 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}

当我尝试在终端 shell 脚本中运行命令 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}

相关内容