我有一个这样的链接:
% Works:
\href{https://www.google.com}{中国药科大学}
% Does not work:
\href{https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E8%8D%AF%E7%A7%91%E5%A4%A7%E5%AD%A6/248835}{中国药科大学}
我该怎么做才能使链接正常工作?我不想\
在每个之前添加%
。我已经尝试过:
\href{\url{balabalabala.....}}{中国药科大学}
但这不起作用。我还尝试过:
\urldef{\UniversityIntro}\url{balabalabala....}
\href{\UniversityIntro}{中国药科大学}
这不起作用。我应该如何处理 href url 以使其在 latex 中作为 url 工作?不是视图问题:
当我添加 zh 单词时中
,显示类似的错误。
\cventry{2009.09-2013.06}{本科}{\href{https://www.google.com/中}{\underline{\textcolor{blue}{\emph{中国药科大学}}}}}{江苏南京}{\textit{信息管理与信息系统专业}}{}
我现在正在使用 modernCV 撰写个人简历。这是完整文档:
%% start of file `template-zh.tex'.
%% Copyright 2006-2013 Xavier Danaux ([email protected]).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,roman]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
% moderncv 主题
\moderncvstyle{classic} % 选项参数是 ‘casual’, ‘classic’, ‘oldstyle’ 和 ’banking’
\moderncvcolor{black} % 选项参数是 ‘blue’ (默认)、‘orange’、‘green’、‘red’、‘purple’ 和 ‘grey’
%\nopagenumbers{} % 消除注释以取消自动页码生成功能
% 字符编码
\usepackage[utf8]{inputenc} % 替换你正在使用的编码
\usepackage{multirow}
\usepackage{xeCJK}
\usepackage{hyperref}
%\setCJKmainfont{SimSun}
% 调整页面出血
\usepackage[scale=0.75]{geometry}
\setlength{\hintscolumnwidth}{3cm} % 如果你希望改变日期栏的宽度
\setlength{\parindent}{0cm} %段落缩进
% 个人信息
\name{John}{}
\title{软件开发(Java)} % 可选项、如不需要可删除本行
%\address{街道及门牌号}{邮编及城市} % 可选项、如不需要可删除本行
\extrainfo{性别:男~~出生日期:1991年3月} % 可选项、如不需要可删除本行
%\photo[64pt][0.4pt]{IcdU7} % ‘64pt’是图片必须压缩至的高度、‘0.4pt‘是图片边框的宽度 (如不需要可调节至0pt)、’picture‘ 是图片文件的名字;可选项、如不需要可删除本行
%\quote{引言(可选项)} % 可选项、如不需要可删除本行
% 显示索引号;仅用于在简历中使用了引言
%\makeatletter
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
%\makeatother
\urldef{\UniversityIntro}\url{http://www.w3.org/file%query}
% 分类索引
%\usepackage{multibib}
%\newcites{book,misc}{{Books},{Others}}
%----------------------------------------------------------------------------------
% 内容
%----------------------------------------------------------------------------------
\begin{document}
\maketitle
\section{教育背景}
%\cventry{2006.09-2009.06}{高中}{重庆市大足中学}{重庆大足}{\textit{理科}}{} % 第3到第6编码可留白
\cventry{2009.09-2013.06}{本科}{\href{\url{https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E8%8D%AF%E7%A7%91%E5%A4%A7%E5%AD%A6/248835}}{\underline{\textcolor{blue}{\emph{中国药科大学}}}}}{江苏南京}{\textit{信息管理与信息系统专业}}{} % 第3到第6编码可留白
\clearpage
\end{document}
%% 文件结尾 `template-zh.tex'.
我想要做的是添加带有大学名称的链接,然后单击该名称以链接到网站。似乎无论我怎么尝试,都没有用。这是网站链接:https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E8%8D%AF%E7%A7%91%E5%A4%A7%E5%AD%A6/248835
我现在正在使用 latexmk 来编译 pdf,这是命令:
#!/usr/bin/env bash
# 当使用未初始化的变量时,程序自动退出
# 也可以使用命令 set -o nounset
set -u
# 当任何一行命令执行失败时,自动退出脚本
# 也可以使用命令 set -o errexit
set -e
set -x
/Library/TeX/texbin/latexmk -pdfxe -pvc -xelatex -interaction=nonstopmode -output-directory="./output"
并使用 Visual Studio Code 编辑文本。有什么建议可以让它工作吗?尝试过这样的方法:
https://baike.baidu.com/item/\%E4\%B8\%AD\%E5\%9B\%BD\%E8\%8D\%AF\%E7\%A7\%91\%E5\%A4\%A7\%E5\%AD\%A6/248835
但这种方式太丑陋了。
答案1
正如 Ulrike 在评论中提到的那样,您不能将\href
或\url
命令作为另一个命令的参数,因为 url 参数的内容是逐字处理的。因此,类似
\cventry{...}{\href{...}{...}}{...}
不允许。
\cventry
针对这种特定情况的一种解决方法是从源中获取命令的定义moderncv
,将其分成机构/雇主参数之前的部分和之后的部分,然后\href
在主文档中的两部分之间使用。在代码中:
\entryleft{years}{title}
\href{url}{caption}
\entryright{location}{description}
完整的 MWE,包含从中复制的定义moderncvbodyi.sty
(moderncv 的默认主体样式):
%% start of file `template-zh.tex'.
%% Copyright 2006-2013 Xavier Danaux ([email protected]).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,roman]{moderncv}
\moderncvstyle{classic} % 选项参数是 ‘casual’, ‘classic’, ‘oldstyle’ 和 ’banking’
\moderncvcolor{black} % 选项参数是 ‘blue’ (默认)、‘orange’、‘green’、‘red’、‘purple’ 和 ‘grey’
\usepackage[utf8]{inputenc} % 替换你正在使用的编码
\usepackage{multirow}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK SC} % just for testing
% 调整页面出血
\usepackage[scale=0.75]{geometry}
\setlength{\hintscolumnwidth}{3cm} % 如果你希望改变日期栏的宽度
\setlength{\parindent}{0cm} %段落缩进
% 个人信息
\name{John}{}
\title{软件开发(Java)} % 可选项、如不需要可删除本行
\extrainfo{性别:男~~出生日期:1991年3月} % 可选项、如不需要可删除本行
% definitions copied from moderncvbodyi.sty
\newcommand{\entryleft}[2]{%
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
\raggedleft\hintstyle{#1} & {\bfseries #2},%
}
\newcommand{\entryright}[2]{%
, #1, \textit{#2}.\strut%
\end{tabular}%
\par%
}
\begin{document}
\maketitle
\section{教育背景}
\cventry{2006.09-2009.06}{高中}{重庆市大足中学}{重庆大足}{\textit{理科}}{} % 第3到第6编码可留白
\entryleft{2009.09-2013.06}{本科}
\href{https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E8%8D%AF%E7%A7%91%E5%A4%A7%E5%AD%A6/248835}{\underline{\textcolor{blue}{\emph{中国药科大学}}}}
\entryright{江苏南京}{信息管理与信息系统专业}
\clearpage
\end{document}
%% 文件结尾 `template-zh.tex'.
结果:
而且,重要的是,链接有效 :) 请注意,我\cventry
稍微简化了代码,现在它不再处理可选参数、空参数、字体设置。因此,如果您想使用更多或不同的参数,可能需要进行一些调整。我还更改了主字体以进行测试,但这当然与解决方案无关。