草图:
我试图扩展甘特图以适应 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
和高度。该参数确保在保持纵横比不变的情况下确定高度。!
{!}
正如 Gonzalo 在他的评论中所指出的,在这种特殊情况下,同时使用高度和宽度会更合适。