Skizzieren:
Ich habe versucht, eineGantt-Diagrammum in eine Beamer-Präsentation zu passen.
Angenommen, ich habe ein Gantt-Diagramm, das größer ist als das Präsentationsrechteck:
\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}
Frage: Wie kann ich diese Figur skalieren, um sie in einem Beamer-Rahmen zu befestigen?
Beispiel: Wenn ich ein PNG-Bild verwenden würde, würde ich sicherlich Folgendes erstellen:
\begin{figure}
\includegraphic[scale=0.5]{mypngpic.png}
\end{figure}
Aber in der Gantt-Umgebung gibt es keine(zumindest weiß ich das noch nicht)eine Möglichkeit zur Skalierung.
Antwort1
Da es gantt
auf TikZ basiert, funktioniert es auch, die Skalierung extern zu erzwingen. Ich habe den Code nicht sorgfältig geprüft, aber vielleicht gibt es eine Möglichkeit, die Optionen direkt an die gantt
Umgebung weiterzugeben. Es hat ein eigenes Schlüsselsystem, hat aber die Skalierungsoptionen nicht erkannt.
\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}
Beachten Sie auch, dass es ein weiteres auf TikZ basierendes Paket gibtpgfgantt
.
Antwort2
Legen Sie den Inhalt \begin{gantt}{20}{20}......\end{gantt}
in eine Datei, sagen wir myganttfig1.tex
. Dann verwenden Sie in Ihrer Haupt-Tex-Datei \resizebox
Folgendes:
%=========================
\begin{figure}[htb]
\centering{
\resizebox{0.62\textwidth}{!}{\input{myganttfig1.tex}}}
\caption{your caption \label{fig:mygantt1}
\end{figure}
%===========================
Sie können die Breite 0.62\textwidth
und Höhe !
nach Bedarf ändern. Der Parameter {!}
stellt sicher, dass die Höhe unter Beibehaltung des Seitenverhältnisses festgelegt wird.
Wie Gonzalo in seinen Kommentaren bemerkt, ist es in diesem speziellen Fall sinnvoller, sowohl Höhe als auch Breite zu verwenden.