修复 moderncv 的 cventry 中的 tikz

修复 moderncv 的 cventry 中的 tikz

根据建议这里,我使用 tikz 绘制的符号来表示简历中的超链接。然而,当在cventry命令中使用时现代简历包,这会导致错误。以下是最小的非工作示例

\documentclass[11pt,a4paper,color,final]{moderncv}
\usepackage{tikz}
\newcommand{\ExternalLink}{%
  \tikz[x=1.2ex, y=1.2ex, baseline=-0.05ex]{% 
    \begin{scope}[x=1ex, y=1ex]
      \clip (-0.1,-0.1) 
      --++ (-0, 1.2) 
      --++ (0.6, 0) 
      --++ (0, -0.6) 
      --++ (0.6, 0) 
      --++ (0, -1);
      \path[draw, 
        line width = 0.5, 
      rounded corners=0.5] 
      (0,0) rectangle (1,1);
    \end{scope}
    \path[draw, line width = 0.5] (0.5, 0.5) 
    -- (1, 1);
    \path[draw, line width = 0.5] (0.6, 1) 
    -- (1, 1) -- (1, 0.6);
  }
}

\moderncvtheme[black]{classic}

\firstname{FirstName}
\familyname{Name}

\begin{document}

\maketitle

\section{Section}
\cventry{2014}{\href{http://example.com/ \ExternalLink}{My great position}}{My great company}{My great city}{}{}

\end{document}

编辑下列内容萨利姆·布的答案。以下作品

\cventry{2014}{\href{http://example.com/}{My great position \ExternalLink}}{My great company}{My great city}{}{}

(该符号应该放在字符串中,而不是 url 中)。

但这仍然会产生错误

\cventry{2014}{My great position}{\href{http://example.com/}{My great company \ExternalLink}}{My great city}{}{}

查看日志,错误看起来非常相似。Latex 抱怨某些错误消息未定义。

答案1

您需要像这样添加您的符号

\cventry{2014}{\href{http://example.com/}{\ExternalLink My great position}}
{My great company}{My great city}{}{}

答案2

这是一个老问题,但由于它是搜索时出现的第一个结果"moderncv tikz error",所以这是我的看法。

使用\DeclareRobustCommand而不是\newcommand来定义 TikZ 宏。就是这样。请参阅另一个问题如果你有兴趣了解为什么

相关内容