Para o seguinte:
\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}
Produz:
É possível que o evento da linha do tempo esteja no formato mês, dia e ano, por exemplo, 15 de março de 2015?
Além disso, não consegui fazer com que esse cronograma refletisse de 2015 a 2016. Em vez disso, pareço preso com "15" em uma extremidade e "16" na outra.
Quando tentei usar:
\startchronology[startyear=2015,stopyear=2016]
o programa não refletia nenhuma data na cronologia.
Odocumentação do pacote chronosys, para mim, não pareceu ajudar.
Obrigado, se eu estiver preso ao(s) formato(s) de data que possuo atualmente em virtude do próprio pacote, agradeceria essa informação.
Responder1
Não vou comentar sua primeira questão, pois @JP-Ellis já respondeu perfeitamente. Mas corrigir o código para alterar o formato da data não é tão difícil, embora o código chronosys
seja um pouco confuso. @JP-Ellis já descobriu o arquivo e a linha corretos, então aqui está um patch para alterar o formato da data.
\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}
Saída:
Responder2
Como mencionei no comentário acima, modificar a data parece ser difícil, pois chronosys
não parece oferecer nenhuma maneira de fazê-lo. Como resultado, a única maneira de fazer isso seria modificar parte do próprio pacote (pelo que pude perceber, a impressão da data começa por volta da linha 513 do chronosyschr.tex
, embora pareça desnecessariamente complicado para mim).
Agora em relação aos eventos não aparecerem, parece ser simplesmente porque o pacote espera um ano completo, ou seja, espera 15/03/2015
caso contrário registra a data como sendo o ano 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}
Responder3
Mais informações sobre
chronos
podem ser encontradas emesta resposta.A versão atual do chronos está disponível em:
https://tex.stackexchange.com/a/342699/ (06/12/2016)
Pelo que vale a pena, chronos
agora permite que isso seja feito com mais facilidade:
date format={ B d, Y},
Cada caractere no formato é traduzido em um elemento do formato de data ou transmitido como está. Isso inclui pontuação e espaços. (Observe que macros etc. não funcionarão aqui porque a macro será dividida e 'traduzida' token por token.)
Os códigos de formato são principalmente um subconjunto dos códigos de formato fornecidos pelo date
comando do GNU, com alguns extras não relevantes para o GNU.
a
nome curto do dia da semana, por exemploMon
A
nome completo do dia da semana, por exemploMonday
b
nome curto do mês, por exemploJan
B
nome completo do mês, por exemploJanuary
d
dia do mês, por exemplo23
E
era, por exemploBCE
, ouCE
m
número do mês, por exemplo01
q
menos se o ano for AECQ
menos se o ano for AEC;y
últimos dois dígitos do ano, por exemplo66
Y
ano, por exemplo1066
Basicamente, isso personaliza o código usado para compor datas de eventos. Uma versão simplificada deste formato também está disponível para personalizar a aparência dos rótulos anuais na própria linha do tempo. Alternativamente, os rótulos de Era podem ser adicionados em cada extremidade da linha do tempo para evitar a confusão de incluir CE
ou BCE
com todos os anos.
Portanto, a linha do tempo pode ser composta da seguinte forma:
\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}
produz
Não há mais um ano zero por padrão, mas isso pode ser restabelecido se necessário usando year zero
.