skafdasschaf / latex-pgfgantt

A LaTeX package for drawing gantt charts
LaTeX Project Public License v1.3c
27 stars 0 forks source link

Missing character: There is no , in font nullfont! due to some weird vgrid behavior #14

Open stefanct opened 2 years ago

stefanct commented 2 years ago

Hi, I noticed that there is some problems with fairly trivial style lists because latexmk noticed errors although the output is fine(?). Even some examples from the manual produce warnings/errors in the output, namely Missing character: There is no , in font nullfont! where the character is taken from misparsed parts of the style list. In small cases there is only one such warning but if the misparsed parts a longer there is one such line per character. This happens with quite up-to-date texlive installations like the one from overleaf.com as well as my old one (2018).

I have treated this as a blackbox problem and just tried to come up with some MWEs and noticed that it is really weird... take a look:

\documentclass{article}
\usepackage{pgfgantt}

\begin{document}

\begin{ganttchart}[
    % vgrid={*1{red}, *1{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *{1}{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *1{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *2{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *3{blue}} % no error
    % vgrid={*1{red}, *4{blue}} % no error
    % vgrid={*1{red}, *5{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *6{blue}} % no error
    % vgrid={*1{red}, *7{blue}} % no error
    % vgrid={*1{red}, *{8}{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*1{red}, *8{blue}} % Missing character: There is no , in font nullfont!
    % vgrid={*2{red}, *8{blue}} % no error
    % vgrid={*2{red}, *{8}{blue}} % no error
    % vgrid={*1{red}, *9{blue}} % no error
    % vgrid={*1{red}, *{9}{blue}} % no error
    % vgrid={*1{red}, *{10}{blue}} % no error
  ]
  {1}{20}
\end{ganttchart}

\end{document}

Maybe it is more obvious when looking at the code but I don't see the pattern just like that - and my (la)tex foo is probably way worse than yours so... I am outta here ;)