Usando el paquete Chronosys en una clase independiente

Usando el paquete Chronosys en una clase independiente

Quiero incluir una línea de tiempo en una presentación de proyector. Para ello escribí 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}

Producción

Línea de tiempo Luego, en el marco correspondiente pongo esto:

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

El problema con este enfoque es que tengo que ajustar manualmente los valores de recorte, lo que lleva mucho tiempo.

Pensé que podría evitar la necesidad de recortar la figura creando la línea de tiempo usando standaloneen lugar de article, pero esto es lo que obtuve:

! 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}
                   
? 

¿Alguna idea sobre cómo solucionar este problema?

Respuesta1

Primero, parece que la cronología se ajusta a la línea de tiempo \textwidth, por lo que debes colocarla dentro de una minipágina. En segundo lugar, no crea un cuadro delimitador, por lo que el modo independiente recorta parte del lado derecho. Entonces usé un \hrulepara cambiar el ancho sin cambiar el alto ( \ruleagregaría una línea en blanco adicional).

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

información relacionada