Как масштабировать фигуру Ганта?

Как масштабировать фигуру Ганта?

Эскиз:

Я пытался масштабироватьДиаграмма Гантадля того, чтобы вписаться в презентацию Beamer.

Предположим, у меня есть диаграмма Ганта, размер которой больше прямоугольника презентации:

 \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}

Вопрос: Как мне масштабировать эту фигурку, чтобы закрепить ее в рамке проектора?

Пример: Если бы я использовал изображение PNG, я бы наверняка сделал это:

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

Но в среде Ганта нет(по крайней мере я пока не знаю)способ масштабирования.

решение1

Поскольку ganttоснован на TikZ, принудительное изменение масштаба извне также работает. Я не проверял код внимательно, но, возможно, есть возможность предоставить опции непосредственно в среду gantt. У него есть собственная система ключей, но он не распознал опции масштаба.

\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}

введите описание изображения здесь Обратите внимание, что есть еще один пакет на базе TikZ.pgfgantt.

решение2

Поместите содержимое между \begin{gantt}{20}{20}......\end{gantt}в файле, скажем myganttfig1.tex. Затем в вашем основном tex-файле используйте \resizeboxчто-то вроде:

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

Вы можете изменить ширину 0.62\textwidthи высоту !в соответствии с вашими потребностями. Параметр {!}гарантирует, что высота будет определена с сохранением соотношения сторон.

Как отмечает Гонсало в своих комментариях, в данном конкретном случае будет более целесообразно использовать и высоту, и ширину.

Связанный контент