网站上有一篇文章用 LaTeX 生成了一个竖直的时间线,效果很漂亮,链接在这里: https://www.latexstudio.net/archives/9763.html 。这个例子是用 table 浮动体环境和表格 tabular 环境形成的,对于能在一页内表达的问题,当然很不错,可是当内容太多需要进行换页的时候就无能为力了。我采用 tcolorbox 的 tcbitemize 环境,也实现了一个竖直的时间线环境,在使用中也比较方便。这个例子就留在下面。
\\documentclass{ctexart} \\usepackage{tcolorbox} \\tcbuselibrary{skins,breakable,listings,raster} \\usepackage{varwidth} \\usepackage{zhlipsum,cncolours} \\colorlet{cvprimary}{松花绿} \\colorlet{cvsecondary}{cvprimary!20} \\tcbset{ skin=enhanced, timeline/.style={ skin=enhanced, attach boxed title to top left={yshift=-\\tcboxedtitleheight}, varwidth boxed title={2.3cm}, empty,breakable,leftrule=2.9cm,left=2mm,right=0mm,bottom=0pt,top=0pt, colback=cvprimary, coltitle=black, % code for unbroken boxes: interior code={% \\path[tcb fill interior] (interior.south west|-frame.south)-- (interior.north west|-frame.north); \\fill[shading=ball,ball color=cvprimary] ([yshift=-1.9ex]interior.north west) circle (3pt); }, % code for the first part of a break sequence: skin first is subskin of={emptyfirst}{% interior code={\\draw[tcb fill interior] (interior.south west)-- (interior.north west); \\fill[shading=ball,ball color=cvprimary] ([yshift=-1.9ex]interior.north west) circle (3pt); } },% % code for the middle part of a break sequence: skin middle is subskin of={emptymiddle}{% interior code={\\draw[tcb fill interior] (interior.south west|-frame.south) --(interior.north west|-frame.north);}, }, % code for the last part of a break sequence: skin last is subskin of={emptylast}{% interior code={\\draw[tcb fill interior] (interior.south west) --(interior.north west|-frame.north);}, }, } } \\newenvironment{timeline}% {\\begin{tcbitemize}[timeline,raster columns=1,raster row skip=0pt]}% {\\end{tcbitemize}} \\newcommand{\\titem}[2]{\\tcbitem[title={#1}]#2} \\begin{document} \\begin{timeline} \\tcbitem[title={2008年8月}]\\zhlipsum[1][name=xiangyu] \\tcbitem[title={2008年8月至2009年5月}]\\zhlipsum[2][name=xiangyu] \\tcbitem[title={2009年5月12日}]\\zhlipsum[4][name=xiangyu] \\titem{2009年12月31日}{\\zhlipsum[4][name=xiangyu]} \\titem{2019年7月31日}{\\zhlipsum[4][name=xiangyu]} \\end{timeline} \\end{document}
很棒,收藏了