¿Cómo escalar una figura de Gantt?

¿Cómo escalar una figura de Gantt?

Bosquejo:

Estaba tratando de escalar unGráfico de ganttpara encajar en una presentación Beamer.

Supongamos que tengo un diagrama de Gantt más grande que el rectángulo de presentación:

 \begin{figure}
   \begin{gantt}{20}{20}
     \begin{ganttitle}
       \numtitle{2012}{1}{2016}{4}
     \end{ganttitle}

     %% lots of activities
     \ganttbar{1}{0}{3}
     ...
     ...
     \ganttbar{1}{0}{19}
     %% lots of activities
   \end{gantt}
 \end{figure}

Pregunta: ¿Cómo puedo escalar esta figura para fijarla en un marco de proyector?

Ejemplo: Si estuviera usando alguna imagen PNG, seguramente haré esta:

\begin{figure}
  \includegraphic[scale=0.5]{mypngpic.png}
\end{figure}

Pero en el entorno de Gantt no existe(al menos todavía no lo sé)una forma de escalar.

Respuesta1

Dado que ganttestá basado en TikZ, forzar la escala externamente también funciona. No verifiqué el código con atención, pero tal vez exista la posibilidad de suministrar las opciones directamente al ganttentorno. Tiene su propio sistema de claves pero no reconoce las opciones de escala.

\documentclass{article}
\usepackage{gantt}
\begin{document}
\tikzset{every picture/.style={yscale=0.3,transform shape}}
   \begin{gantt}{5}{12}
     \begin{ganttitle}
       \numtitle{2012}{1}{2014}{4}
     \end{ganttitle}
     %% lots of activities
     \ganttbar{1}{0}{3}
     \ganttbar{1}{0}{10}
     %% lots of activities
   \end{gantt}

\tikzset{every picture/.style={yscale=1,transform shape}}
   \begin{gantt}{5}{12}
     \begin{ganttitle}
       \numtitle{2012}{1}{2014}{4}
     \end{ganttitle}
     %% lots of activities
     \ganttbar{1}{0}{3}
     \ganttbar{1}{0}{10}
     %% lots of activities
   \end{gantt}

\end{document}

ingrese la descripción de la imagen aquí Tenga en cuenta también que existe otro paquete basado en TikZ.pgfgantt.

Respuesta2

Coloque el contenido \begin{gantt}{20}{20}......\end{gantt}en un archivo, digamos myganttfig1.tex. Luego, en su archivo tex principal use \resizeboxcomo:

%=========================
\begin{figure}[htb]
\centering{
\resizebox{0.62\textwidth}{!}{\input{myganttfig1.tex}}}
\caption{your caption \label{fig:mygantt1}
\end{figure}
%===========================

Puede cambiar el ancho 0.62\textwidthy el alto !para adaptarlo a sus necesidades. El parámetro {!}garantiza que la altura se decida manteniendo intacta la relación de aspecto.

Como observa Gonzalo en sus comentarios, en este caso particular será más adecuado utilizar tanto el alto como el ancho.

información relacionada