我想知道时间系统有没有办法把一年中的两个事件放在一起?我还想删除末尾的箭头
\documentclass{article}
\usepackage{chronosys}
\begin{document}
\begin{frame}{The Journey}{Ph.D. in chronological order}
\chronoperiodecoloralternation{orange, cyan, green, green}
\startchronology[startyear=2018, stopyear=2024, dates=false,arrowcolor=green,stopdate=false]
\chronoevent[textstyle=\tiny]{2018}{Started Ph.D.}
\chronoevent[textstyle=\tiny]{2019}{Started thesis}
\chronoevent[textstyle=\tiny]{2021}{Preliminary exam}
\chronoevent[textstyle=\tiny]{2022}{Thesis result!}
\chronoevent[textstyle=\tiny]{2023}{Qualifying exam} % this was done at the beginning of the 2023
\chronoevent[textstyle=\tiny]{2023}{Defence} % I want this to be at the end of 2023
\chronoperiode[startdate=false, stopdate=false]{2018}{2019}{}
\chronoperiode[startdate=false, stopdate=false]{2019}{2022}{}
\chronoperiode[startdate=false, stopdate=false]{2022}{2023}{}
\chronoperiode[startdate=false, stopdate=false]{2023}{2024}{}
\stopchronology
\end{frame}
\end{document}
答案1
编辑:编辑为使用phantom
key,旨在支持这种风格。要求chronos
不早于 svn rev 9903。
请注意,这chronos
是实验性的并且存在很多错误。链接版本是对之前在此处发布的代码以及一些其他代码进行重写的结果。
买者自负
你可以尝试克洛诺斯,尽管它还没有出现在 CTAN 上(目前还没有)。下面的代码包括您原来的 MWE 以供比较,后面跟着一个chronos
版本。showframe
用于显示chronosys
产生的时间线突出到边缘,但终端上似乎没有产生任何警告。
\documentclass{article}
% ateb: https://tex.stackexchange.com/a/701743/ i gwestiwn Node.JS: https://tex.stackexchange.com/q/699881/
% https://codeberg.org/cfr/chronos
\usepackage{chronos}
\usepackage{chronosys}
\usepackage[showframe]{geometry}
\begin{document}
\begin{frame}{The Journey}{Ph.D. in chronological order}
\chronoperiodecoloralternation{orange, cyan, green, green}
\startchronology[startyear=2018, stopyear=2024, dates=false,arrowcolor=green,stopdate=false]
\chronoevent[textstyle=\tiny]{2018}{Started Ph.D.}
\chronoevent[textstyle=\tiny]{2019}{Started thesis}
\chronoevent[textstyle=\tiny]{2021}{Preliminary exam}
\chronoevent[textstyle=\tiny]{2022}{Thesis result!}
\chronoevent[textstyle=\tiny]{2023}{Qualifying exam} % this was done at the beginning of the 2023
\chronoevent[textstyle=\tiny]{2023}{Defence} % I want this to be at the end of 2023
\chronoperiode[startdate=false, stopdate=false]{2018}{2019}{}
\chronoperiode[startdate=false, stopdate=false]{2019}{2022}{}
\chronoperiode[startdate=false, stopdate=false]{2022}{2023}{}
\chronoperiode[startdate=false, stopdate=false]{2023}{2024}{}
\stopchronology
\end{frame}
\centering
\begin{chronos}
% ateb: https://tex.stackexchange.com/a/701743/ i gwestiwn Node.JS: https://tex.stackexchange.com/q/699881/
% https://codeberg.org/cfr/chronos **min svn rev 9903**
[
lines on line=10pt,% line height
timeline={%
dates=2018:2024,
width=.9\linewidth,
timeline line={-,shorten >=0pt},% because lines on line has an arrow
timeline margin'=0pt,
},
outer border'=0pt,
without eras,
text tags+={font=\sffamily},
every event below,
event={%
only years,
colour=black,
text font=\tiny,
},
period={%
colours below={orange,cyan,green,green},
phantom,
only years,
},
]
% these **must** be named, even though they are invisible and detached
\chronosperiod{dates=2018:2019,name={n1}}
\chronosperiod{dates=2019:2022,name={n2}}
\chronosperiod{dates=2022:2023,name={n3}}
\chronosperiod{dates=2023:2024,name={n4}}
\chronosevent{date=2018,name={Started Ph.D.},}
\chronosevent{date=2019,name={Started thesis},}
\chronosevent{date=2021,name={Preliminary exam},}
\chronosevent{date=2022,name={Thesis result!},}
\chronosevent{date=2023-01-01,name={Qualifying exam},} % this was done at the beginning of the 2023
\chronosevent{date=2023-12-31,name={Defence},} % I want this to be at the end of 2023
\chronosmaintitle{name content=The Journey,label={[font=\sffamily]right:PhD in chronological order},at=Started PhD |- chronos head,anchor=south west,yshift=10pt,font=\sffamily,draw }
\end{chronos}
\end{document}
chronos
可以毫无问题地将两个事件放在一年中的不同时间点,并且可以轻松支持箭头或无箭头。虽然原始答案使用了一个版本,其中创建没有文本框的时期(或事件或生活)需要一些技巧,但当前版本提供了phantom
。与我最初的答案不同,它涉及创建不可见的文本框并且不将它们连接到任何东西,这phantom
意味着它们根本没有构造。这更有效,应该更可靠,并且(希望)更易于使用。