Moderncv 与 moderntimeline - 如何将标签置于时间线上方的中心?

Moderncv 与 moderntimeline - 如何将标签置于时间线上方的中心?

如何将标签置于条目时间轴栏上方的中心,而不管其起点是什么。例如:

https://i.stack.imgur.com/a0WL7.png

为了避免类似这样的事情: https://i.stack.imgur.com/Y6bXR.png

我确实使用它\tllabelcventry{2006.834}{2009.67}{2006-10 -- 2009-08}来生成第二个条目和\tllabelcventry{2009.67}{2010.67}{2009-08 -- 2010-08}第一个条目。

此外\tltextstart[base]{\scriptsize}也设置了。

@Jake 您的解决方案可以很好地根据创建的时间栏将所有标签居中。但是,将标签居中到整个时间轴,与使用的时间范围无关,这又是怎么回事呢?这样,第二张图片上的标签就和第一张图片上的标签一样了。PS 抱歉,我不知道如何像您对这个问题那样对您的答案发表评论。

答案1

您可以使用xshift=(0.5-\tl@startfraction)*\hintscolumnwidth将标签移至时间线的中心。标签使用样式tl@startyear,因此您可以使用该样式来设置选项xshift

\documentclass{moderncv}

\usepackage{moderntimeline}
\moderncvtheme{classic}
\tlmaxdates{2006}{2012}

\firstname{Lorem}
\familyname{Ipsum}
\makeatletter
\tikzset{
    tl@startyear/.append style={
        xshift=(0.5-\tl@startfraction)*\hintscolumnwidth,
        anchor=base
    }
}
\makeatother
\begin{document}
\tllabelcventry{2006.834}{2009.67}{2006-10 -- 2009-08}{I did something cool for almost three years}{}{}{}{}

\end{document}

相关内容