我正在使用 moderncv - 并且有许多cventry
包含个人的项目item
:
\section{Work Experience}
\cventry{Jan.~2010 -- Mar.~2013}{Project1}{Company1}{}{}{I worked on the following: \begin{itemize*}
\item Wrote foo \label{tocBar}
\item Made bar \label{tocBaz}
\item Improved baz
\end{itemize*}
}
\cventry{Apr.~2013 -- Mar.~2014}{Project2}{Company2}{}{}{I worked on the following: \begin{itemize*}
\item Wrote more stuff \label{tocTheory}
\item And improved theory of everything
\end{itemize*}
}
现在,我想创建指向某些特定 \item(例如 tocBar)的内部(可点击)链接。不幸的是,当我尝试使用时\hyperref[some text]{tocBar}
,PDF 中生成的链接指向该节的开头,而不是它\item
本身。
如果我使用\pageref{tocBar}
- 则会出现类似的行为,尽管在这种情况下,创建的页码是正确的;只是生成的链接是错误的(它将我带到该部分的开头而不是\item
)。
我能做些什么来创建指向各个项目的正常工作的链接?
编辑:我在这里添加了一个完整、可重现的示例:https://gist.github.com/ttsiodras/76572cb3446cb8b1ad878640337e45b5 尝试单击第一页中生成的链接,您会看到它导航到第二页而不是第三页(实际上包含指向的元素)。
答案1
您正在使用\usepackage[options...]{hyperref}
,您应该使用\AtBeginDocument{\hypersetup{colorlinks=true,urlcolor=color1,linkcolor=color1}}
来设置选项。
这是因为文件hyperref
中已经调用moderncv.sty
并且包的设置已经定义AtBeginDocument
,所以如果您只是尝试使用该hypersetup
命令,它将不起作用或引发错误。
中的部分和项目定义与moderncv
中的不同article
。没有计数器,深度也全部关闭。因此,当您放置 时,\label{}
它将指向最新的部分。要解决此问题,只需使用\phantomsection{}
您希望交叉引用指向的位置即可。
另外,我使用它color1
作为链接的颜色,否则,你会得到与其余格式不一致的蓝色。
我的 MWE:
\documentclass[11pt,a4paper,sans]{moderncv}
\moderncvstyle{classic}
\moderncvcolor{blue}
\usepackage{mdwlist}
\usepackage{lipsum}
%\usepackage[colorlinks=true,urlcolor=blue,linkcolor=blue]{hyperref} <-- This will throw an error
\firstname{John}
\familyname{Doe}
\email{[email protected]}
\homepage{www.johndoe.com}
\makeatletter
\makeatother
\AtBeginDocument{\hypersetup{colorlinks=true,urlcolor=color1,linkcolor=color1}} %<--- This is how you set it up
\begin{document}
\makecvtitle
\section{Summmary}
\begin{itemize*}
\item For my work on foo, please see \hyperref[tocAlpha]{this information}. %<-- notice color
\end{itemize*}
\section{Experience}\label{sec:experience}
\subsection{Professional coding}
\cventry{Jan.~2016 -- today}{Software Engineer}{Space colony}{}{}{Over the last 4 years...
\begin{itemize*}
\item Work on \lipsum[1-2] %Shorter and easier, no?
\item More work on \lipsum[1-2]
\item Extra work on \lipsum[1-2]
%\item
\end{itemize*}
}
\cventry{year--year}{Job title}{Employer}{City}{}{See section \hyperref[sec:experience]{some text}}
\cventry{Jan.~2010 -- Jan.~2016}{Software Engineer}{Mars colony}{}{}{Over the last 6 years...\begin{itemize*}
\phantomsection{}\label{tocAlpha}
\item Work on foo \lipsum[1-2]
\item More work on \lipsum[1-2]
\item Extra work on \lipsum[1-2]
\end{itemize*}
}
\end{document}
注意,我使用lipsum
包作为示例,以使其更加......简约:)