Diagrama de Gantt sin fines de semana

Dec 31 2020

Duplicado de:
Cómo excluir o eliminar fines de semana del diagrama de gantt

Estoy buscando crear un diagrama de Gantt usando pgfgantt que solo muestre ciertos días de la semana, excluyendo específicamente los fines de semana o domingos. Lo más parecido que he encontrado (ver el código completo en la parte inferior) tiene ahora cuatro años y se niega a compilar con errores que son completamente opacos para mí.

Respuestas

2 Marijn Jan 01 2021 at 00:16

La respuesta en la otra pregunta usa la clave compress calendar. Sin embargo, desde la versión 5.0 del pgfganttpaquete, esta clave se ha cambiado a time slot unit. Consulte el manual de la versión 5.0 (página 101-102):

cambia la historia

[...]

v5.0

[...]

La clave compress calendarha sido reemplazada por time slot unitpara permitir un nivel adicional de compresión (año).

Esta nueva clave tiene tres valores: day(sin compresión, predeterminado), month(no muestra días sino solo meses y años) y year(no muestra meses sino solo años y posiblemente décadas). El valor daycorresponde al antiguo compress calendar=false, monthes compress calendar=truey yearno existía en la versión 4.0.

El código de la pregunta anterior solo tiene en cuenta los dos primeros valores clave, por lo que si desea usar ese código con cambios mínimos, no puede usarlo time slot unit=year. Para los otros dos valores de opción, la solución es bastante sencilla: cambie cada ocurrencia de \ifgtt@compresscalendarpor \ifgtt@timeslotunit@month(hay cuatro ocurrencias en total). Tenga en cuenta que las dos últimas apariciones (línea 203 y 217) tienen un 1al final, por lo que deben reemplazarse por \ifgtt@timeslotunit@month1.

Resultado: