Usando o pacote chronosys em classe autônoma

Usando o pacote chronosys em classe autônoma

Quero incluir uma linha do tempo em uma apresentação do beamer. Para esse fim escrevi este código:

\documentclass{article}

\usepackage{chronosys}
\usepackage{xcolor}

\definecolor{first-period}{HTML}{b3e2cd}
\definecolor{second-period}{HTML}{fdcdac}
\definecolor{third-period}{HTML}{cbd5e8}

\begin{document}

\fontfamily{cmss}\selectfont
\definechronoevent{MySmallerEvent}[textstyle=\footnotesize,datestyle=\footnotesize]

\startchronology[startyear=1980,
  stopyear=2020,
  dates=false,
  color=third-period,
  height=7ex]

\chronoperiode[color=first-period, dates=false]{1980}{2000}{}
\chronoperiode[color=second-period, dates=false]{2000}{2010}{}
\chronoperiode[color=third-period, dates=false]{2010}{2020}{}

\chronoMySmallerEvent[textwidth=5ex]{1990}{First event}
\chronoMySmallerEvent[textwidth=8ex]{2005}{Second event}
\chronoMySmallerEvent[textwidth=5ex]{2015}{Third event}

\stopchronology

\end{document}

Saída

Linha do tempo Então, no quadro apropriado coloquei isto:

\includegraphics[width=0.8\textwidth, keepaspectratio, trim = 45mm 210mm 45mm 40mm, clip]{timeline.pdf}

O problema com essa abordagem é que preciso ajustar manualmente os valores de corte, o que consome muito tempo.

Achei que poderia evitar a necessidade de cortar a figura criando a linha do tempo usando standaloneem vez de article, mas foi isso que consegui:

! Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.29 \stopchronology
                    
? 
! Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.29 \stopchronology
                    
? 
! Missing } inserted.
<inserted text> 
                }
l.29 \stopchronology
                    
? 
! Extra \endgroup.
<recently read> \endgroup 
                          
l.29 \stopchronology
                    
? 
! Extra \endgroup.
\color@endgroup ->\endgraf \endgroup 
                                     
l.31 \end{document}
                   
? 
! Too many }'s.
\endsa@boxit ...dvarwidth \color@endgroup \egroup 
                                                  
l.31 \end{document}
                   
? 

Alguma idéia de como corrigir esse problema?

Responder1

Primeiro, parece que a cronologia se ajusta à linha do tempo \textwidth, então você precisa colocá-la dentro de uma minipágina. Em segundo lugar, ele não cria uma caixa delimitadora; portanto, o recorte independente parte do lado direito. Então usei um \hrulepara alterar a largura sem alterar a altura ( \ruleadicionaria uma linha extra em branco).

\documentclass{standalone}

\usepackage{chronosys}
\usepackage{xcolor}

\definecolor{first-period}{HTML}{b3e2cd}
\definecolor{second-period}{HTML}{fdcdac}
\definecolor{third-period}{HTML}{cbd5e8}

\begin{document}
\begin{minipage}[t][1in][s]{4in}% set height to 1 in, width to 4 in
\hrule width\textwidth height0pt%bounding box?
\fontfamily{cmss}\selectfont
\definechronoevent{MySmallerEvent}[textstyle=\footnotesize,datestyle=\footnotesize]
%
\startchronology[startyear=1980,
  stopyear=2020,
  dates=false,
  color=third-period,
  height=7ex]
%
\chronoperiode[color=first-period, dates=false]{1980}{2000}{}
\chronoperiode[color=second-period, dates=false]{2000}{2010}{}
\chronoperiode[color=third-period, dates=false]{2010}{2020}{}
%
\chronoMySmallerEvent[textwidth=5ex]{1990}{First event}
\chronoMySmallerEvent[textwidth=8ex]{2005}{Second event}
\chronoMySmallerEvent[textwidth=5ex]{2015}{Third event}
%
\stopchronology
\vss% shrink bottom
\end{minipage}
\end{document}

informação relacionada