我需要制作一条垂直时间线,记录(假设)两个不同但相关的机构的历史。有人告诉我,要这样制作,一个机构的事件放在左边,另一个机构的事件放在右边。我希望这条线位于两侧的中心,两侧的文本具有相同的空间。我想象如下图所示(就结构而言):
这是我目前所拥有的,但文本在行的两边显示不同:左侧显然是短文本,例如年份。我希望能够在行的两边写长文本,并且左侧的文本右对齐(靠近行),右侧的文本左对齐(再次靠近行)。
\newcommand{\foo}{\color{black}\makebox[0pt]{\textbullet}\hskip-0.5pt\vrule width 1pt\hspace{\labelsep}}
\begin{document}
\begin{table}
\renewcommand\arraystretch{1.4}\arrayrulecolor{black}
\captionsetup{singlelinecheck=false, font=blue, labelfont=sc, labelsep=quad}
\caption*{\textbf{Misiones espaciales}}\vskip -1.5ex
\begin{tabular}{@{\,}r <{\hskip 2pt} !{\foo} >{\raggedright\arraybackslash}p{15cm}}
\addlinespace[2ex]
1996 & Lanzamiento del satélite SAC-B\\
1998 & Lanzamiento del satélite SAC-A\\
2000 & Lanzamiento del satélite SAC-C\\
2007 & Lanzamiento del Tronador\\
2007 & Lanzamiento del VS30\\
2008 & Lanzamiento del Tronador IB\\
2011 & Lanzamiento del satélite SAC-D Aquarius\\
2014 & Lanzamiento de VEx1B\\
2014 & Lanzamiento del satélite ARSAT-1\\
2015 & Lanzamiento del satélite ARSAT-2\\
2017 & Lanzamiento de VEx5A\\
2018 & Lanzamiento del satélite SAOCOM 1A\\
2020 & Lanzamiento del satélite SAOCOM 1B\\
\end{tabular}
\end{table}
答案1
以下是一些可帮助您入门的代码:
\documentclass{article}
\usepackage{tikz, lipsum}
\usetikzlibrary {shapes.callouts}
\tikzset{spot/.style={draw, circle, fill=blue!20, outer sep=2mm},
time/.style={inner sep=3mm, align=left},
desc/.style={outer xsep=6mm, inner sep=2mm, below=6mm, text width=6cm, fill=blue!20, shape=rectangle callout, callout absolute pointer={(#1)}}
}
\begin{document}
\begin{tikzpicture}
\draw[thick](0,10)
--(0,9)node[spot](a1){}
node[time, left]{JUN 17th\\12:00 AM}
node[desc=a1.east, right]{1934\\ \lipsum[1][1-2]}
--(0,6)node[spot](a2){}
node[time, right]{JUN 29th\\11:36 AM}
node[desc=a2.west, left]{1937\\ \lipsum[1][3-4]}
--(0,3)node[spot](a3){}
node[time, left]{JUL 1st\\10:30 AM}
node[desc=a3.east, right]{1940\\ \lipsum[1][5-6]}
--(0,0);
\end{tikzpicture}
\end{document}