Gráfico de Gantt sem fins de semana

Dec 31 2020

Duplicado de:
como excluir ou remover fins de semana do ganttchart

Estou tentando criar um gráfico de Gantt usando pgfgantt que exibe apenas determinados dias da semana, excluindo especificamente fins de semana ou domingos. A coisa mais próxima que encontrei (veja o código completo no final) agora tem quatro anos e se recusa a compilar com erros que são completamente opacos para mim.

Respostas

2 Marijn Jan 01 2021 at 00:16

A resposta na outra pergunta usa a chave compress calendar. No entanto, desde a versão 5.0 do pgfganttpacote, essa chave foi alterada para time slot unit. Consulte o manual para a versão 5.0 (página 101-102):

Histórico de Mudanças

[...]

v5.0

[...]

A chave compress calendarfoi substituída por time slot unitpara permitir um nível adicional de compressão (ano).

Esta nova chave tem três valores: day(sem compressão, padrão), month(não mostra dias, mas apenas meses e anos) e year(não mostra meses, mas apenas anos e possivelmente décadas). O valor daycorresponde ao antigo compress calendar=false, monthé compress calendar=truee yearnão existia na versão 4.0.

O código da pergunta anterior representa apenas os dois primeiros valores-chave, portanto, se você quiser usar esse código com alterações mínimas, não poderá usá-lo time slot unit=year. Para os outros dois valores de opção, a correção é bastante direta: altere todas as ocorrências de \ifgtt@compresscalendarpor \ifgtt@timeslotunit@month(há quatro ocorrências no total). Observe que as duas últimas ocorrências (linha 203 e 217) têm um 1no final, portanto, devem ser substituídas por \ifgtt@timeslotunit@month1.

Resultado: