Para el siguiente:
\documentclass{article}
\usepackage{chronosys}
\catcode`\@=11
\def\chron@selectmonth#1{\ifcase#1\or January\or February\or March\or April\or%
May\or June\or July\or August\or September\or October\or November\or December\fi}
\begin{document}
\startchronology[startyear=15,stopyear=16]
\chronoevent{15/03/15}{Assassination of Caesar}
\stopchronology
\end{document}
Produce:
¿Es posible que el evento de la línea de tiempo esté en formato de mes, día y año, por ejemplo, 15 de marzo de 2015?
Además, no pude lograr que esta línea de tiempo reflejara el período de 2015 a 2016. En cambio, parezco estancado con "15" en un extremo y "16" en el otro.
Cuando lo intenté usando:
\startchronology[startyear=2015,stopyear=2016]
el programa no reflejaba ninguna fecha en la cronología.
Eldocumentación del paquete cronosys, para mí, no pareció ayudar.
Gracias, si estoy atascado con los formatos de fecha que tengo actualmente en virtud del paquete en sí, agradecería esa información.
Respuesta1
No comentaré sobre tu primer problema, ya que @JP-Ellis ya respondió perfectamente. Pero parchear el código para cambiar el formato de fecha no es tan difícil, aunque el código chronosys
es un poco complicado. @JP-Ellis ya descubrió el archivo y la línea correctos, así que aquí hay un parche para cambiar el formato de fecha.
\documentclass{article}
\usepackage{chronosys}
\usepackage{etoolbox}
\makeatletter\catcode`\!=11
\def\chron@selectmonth#1{\ifcase#1\or January\or February\or March\or April\or%
May\or June\or July\or August\or September\or October\or November\or December\fi}
\patchcmd{\dochronoevent}{%
\if!chreventdate\hbox to\z@{%
\hss \if!chreventifcolorbox \expandafter\!chreventcolorbox\fi
{\!chr@eventdatestyle{%
\if!chreventspecifiedday %
{\!chr@eventdatesstyle{\!chreventday}}\!chr@eventdatesseparation
\fi
{\!chr@eventdatesstyle{%
\if!chreventspecifiedmonth
\if!chreventconversionmonth\expandafter \chron@selectmonth
\fi
\!chreventmonth
\fi
}%
}%
\if!chreventspecifiedmonth\if!chreventyear \!chr@eventdatesseparation\fi\fi
\if!chreventyear{\!chr@eventdatesstyle{\!chreventyear}}\fi%
}}%
\hss
}%
\fi
}{%
\if!chreventdate\hbox to\z@{%
\hss \if!chreventifcolorbox \expandafter\!chreventcolorbox\fi
{\!chr@eventdatesstyle{%
\if!chreventspecifiedmonth
\if!chreventconversionmonth\expandafter\chron@selectmonth
\fi
\!chreventmonth\!chr@eventdatesseparation%
\fi
}%
{\!chr@eventdatestyle{%
\if!chreventspecifiedday%
{\!chr@eventdatesstyle{\!chreventday}},%
\fi%
}%
\if!chreventspecifiedmonth\if!chreventyear\!chr@eventdatesseparation\fi\fi
\if!chreventyear{\!chr@eventdatesstyle{\!chreventyear}}\fi%
}}%
\hss
}%
\fi
}{%
\message{Patching chronosys successful.}%
}{%
\message{Patching chronosys failed.}%
}
\makeatother
\begin{document}
\startchronology[startyear=2015,stopyear=2016]
\chronoevent{15/03/2015}{Assassination of Caesar}
\stopchronology
\end{document}
Producción:
Respuesta2
Como mencioné en el comentario anterior, parece que modificar la fecha será difícil ya que chronosys
no parece ofrecer ninguna forma de hacerlo. Como resultado, la única forma de hacerlo sería modificar parte del paquete en sí (por lo que pude ver, la impresión de la fecha comienza alrededor de la línea 513 de chronosyschr.tex
, aunque me parece innecesariamente complicado).
Ahora con respecto a los eventos que no aparecen, parece ser simplemente porque el paquete espera un año completo, es decir, espera que 15/03/2015
de lo contrario registre la fecha como el año 15:
\documentclass{article}
\usepackage{chronosys}
\makeatletter
\def\chron@selectmonth#1{\ifcase#1\or January\or February\or March\or April\or%
May\or June\or July\or August\or September\or October\or November\or December\fi}
\begin{document}
\startchronology[startyear=2010,stopyear=2016]
\chronoevent{4/7/2012}{Discovery of the Higgs boson}
\stopchronology
\startchronology[startyear=10,stopyear=16]
\chronoevent{19/8/14}{Augustus, the first Roman emperor, dies and is declared to be a god}
\stopchronology
\end{document}
Respuesta3
Más información sobre
chronos
se puede encontrar enesta respuesta.La versión actual de cronos está disponible en:
https://tex.stackexchange.com/a/342699/ (2016-12-06)
Por si sirve de algo, chronos
ahora permite que esto se haga con mayor facilidad:
date format={ B d, Y},
Cada carácter del formato se traduce a un elemento del formato de fecha o se pasa tal cual. Esto incluye puntuación y espacios. (Tenga en cuenta que las macros, etc. no funcionarán aquí porque la macro se descompondrá y se "traducirá" token por token).
Los códigos de formato son en su mayoría un subconjunto de los códigos de formato proporcionados por el comando de GNU date
, con algunos extras que no son relevantes para GNU.
a
nombre corto del día de la semana, por ejemploMon
A
nombre completo del día de la semana, por ejemploMonday
b
nombre de mes corto, por ejemploJan
B
nombre del mes completo, por ejemploJanuary
d
día del mes por ej.23
E
era, por ejemploBCE
oCE
m
número de mes, por ejemplo01
q
menos si el año es BCEQ
menos si el año es BCE;y
últimos dos dígitos del año, por ejemplo66
Y
año por ejemplo1066
Básicamente, esto personaliza el código utilizado para componer las fechas de los eventos. También está disponible una versión simplificada de este formato para personalizar la apariencia de las etiquetas de los años en la propia línea de tiempo. Alternativamente, se pueden agregar etiquetas de época en cada extremo de la línea de tiempo para evitar el desorden de incluir CE
o BCE
con cada año.
Entonces la línea de tiempo se puede componer de la siguiente manera:
\begin{tikzpicture}
[
chronos={%
start date=2015-01-01,
end date=2016-01-01,
timeline height=2.5mm,
timeline width=100mm,
timeline line={shorten >=-10mm, -{Triangle Cap[length=10mm]}},
timeline years=above,
date format={ B d, Y},
}
]
\chronosevent{2015-03-15}{Assassination of Caesar}
\end{tikzpicture}
produce
Ya no existe un año cero de forma predeterminada, pero se puede restablecer si es necesario usando year zero
.