转义 medium.com URL

转义 medium.com URL

modernCV 中的以下 URL -

\cventry{2016}{志愿组织者}{Reversim Summit 2016}{以色列}{}{组织了 \small \textcolor{cyan}{\href{https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj{以色列最大的社区会议}},协调一支由 25 名志愿者、53 名演讲者和 925 名独立访客组成的团队。}

给我带来了这个麻烦:

! Illegal parameter number in definition of \Hy@tempa.
<to be read again>
                   .
l.77 ...eers, 53 spakers and 925 unique visitors.}

我尝试使用 来逃避&\&但是没有成功。

使用缩短的链接效果很好:

\cventry{2016}{志愿组织者}{Reversim Summit 2016}{以色列}{}{组织了 \small \textcolor{cyan}{\href{SHORTENED-LINK-I-CAN-NOT-PASTE-IN-THIS-SITE}{以色列最大的社区会议之一}},协调了一支由 25 名志愿者、53 名演讲者和 925 名独立访客组成的团队。}

知道如何https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj在现代 Cv 技术中逃脱吗?

答案1

您的 URL 的问题在于#其中使用的字母。

我知道的唯一方法是定义一个强大的 url(参见包的文档url,第 2 章“定义一个定义的 url”):。\urldef{\myself}\url{myself%[email protected]}

对于你的情况你可以使用

\urldef{\med1}\url{https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj}

或者用%40代替@(URL 编码):

\urldef{\medium}\url{https://medium.com/%40rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj}

要在代码中调用 URL,您只需使用命令\med1\medium

@Heiko-Oberdiek 在他的回答中提到, 可以\#代替#hyperref请参阅他的回答中的解释。以下\url命令也是可能的(请参阅\#):

\url{https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e\#.a9fng7yyj}

以下 MWE

\RequirePackage[hyphens]{url}
\documentclass[11pt,a4paper,sans]{moderncv}

\moderncvstyle{classic} % casual, classic, banking, oldstyle and fancy
\moderncvcolor{blue} 

\usepackage[utf8]{inputenc}
\usepackage[scale=0.75]{geometry}

% personal data
\name{John}{Doe}
\title{Resumé title}
\address{street and number}{postcode city}{country}
\phone[mobile]{+1~(234)~567~890}
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{[email protected]}
\homepage{www.johndoe.com}
\social[linkedin]{john.doe}
\social[twitter]{jdoe}
\social[github]{jdoe}
\extrainfo{additional information}
\photo[64pt][0.4pt]{example-image-a}
\quote{Some quote}

\setlength{\footskip}{66pt}
\urldef{\medium}\url{https://medium.com/%40rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj}
\urldef{\med1}\url{https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e#.a9fng7yyj}


\begin{document}

\makecvtitle

\cventry{2016}{Volunteering organizer}{Reversim Summit 2016}{Israel}{}{%
  Organized one of the \small \textcolor{cyan}{\medium} largest community 
  conferences in Israel, coording a team of 25 volunteers, 53 spakers 
  and 925 unique visitors.}

\cventry{2016}{Volunteering organizer}{Reversim Summit 2016}{Israel}{}{%
  Organized one of the \small \textcolor{cyan}{\med1} largest community 
  conferences in Israel, coording a team of 25 volunteers, 53 spakers and 
  925 unique visitors.}

\cventry{2016}{Volunteering organizer}{Reversim Summit 2016}{Israel}{}{%
  Organized one of the \small \textcolor{cyan}{%
  \url{https://medium.com/@rantav/reversim-summit-2016-by-the-numbers-32046c36c9e\#.a9fng7yyj}} 
  largest community conferences in Israel, coording a team of 25 volunteers, 
  53 spakers and 925 unique visitors.}

\end{document}

显示两种可能性并给出以下结果:

生成的 pdf

答案2

问题是#。它用于 TeX 宏定义的参数。通常,\href会将类别代码更改为允许#在其第一个参数中。但在这里,\href用于其他宏的参数(\textcolor\cventry)中,并且类别更改来得太晚,因为 的参数\href已被标记化。

出于这个原因,\href也支持使用\#而不是#

\href{https://example.com/foobar\#anchor}{...}

相关内容