我对使用 longtable 环境的时间线 不过,我想跳过一些要点。
我尝试使用布尔切换,但似乎表格环境中未使用该逻辑。
有没有办法可以更好地控制项目符号出现的时间?
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{etoolbox}
\usepackage{xtab}
\usepackage{array}
\definecolor{accentcolor}{RGB}{ 250, 150, 10 }
\newbool{time_bullet}
\setbool{time_bullet}{true}
\newcommand{\foo}{\color{accentcolor!80}\makebox[0pt]{
\ifbool{time_bullet}{
\LARGE\textbullet\setbool{time_bullet}{false}}
{\setbool{time_bullet}{true}}
}\hskip-0.0pt\vrule width 1pt\hspace{\labelsep}\ifbool{time_bullet}{\setbool{time_bullet}{false}}{\setbool{time_bullet}{true}}}
\newcolumntype{F}{<{\hskip 2pt} !{\foo} >{\raggedright\arraybackslash}p{2cm}}
\begin{document}
\begin{tabular}{lF}
1 & Test\\
2 & Test \\
3 & Test
\end{tabular}
\foo{}
\foo{}
\foo{}
\end{document}
答案1
正如@Peter Grill 指出的那样,布尔值需要全局设置。
因此使用
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{etoolbox}
\usepackage{xtab}
\usepackage{array}
\definecolor{accentcolor}{RGB}{ 250, 150, 10 }
\newbool{time_bullet}
\setbool{time_bullet}{true}
\newcommand{\foo}{\color{accentcolor!80}\makebox[0pt]{%
\ifbool{time_bullet}{%
\LARGE\textbullet\setbool{time_bullet}{false}}
{\setbool{time_bullet}{true}}
}\hskip-3.2pt\vrule width 1pt\hspace{\labelsep}\ifbool{time_bullet}{\global\setbool{time_bullet}{false}}{\global\setbool{time_bullet}{true}}}
\newcolumntype{F}{<{\hskip 2pt} !{\foo} >{\raggedright\arraybackslash}p{2cm}}
\begin{document}
\begin{tabular}{lF}
1 & Test\\
2 & Test \\
3 & Test
\end{tabular}
\foo{}
\foo{}
\foo{}
\end{document}
与结果完美匹配