——如何链接到本地文件夹中文件? ——xelatex编译 ``` \documentclass{article} \usepackage{xeCJK}%使用xeCJK中文处理宏包 \usepackage[colorlinks,linkcolor=blue]{hyperref}(附加疑问:blue为什么没效果,链接仍显示红色,而非蓝色?) \begin{document} %%失败尝试 %尝试1 \href{run:/C:Users/Wang CY/Desktop/2.doc}{如何链接到本地文件夹中文件?} %%尝试2 % \href{C:/Users/“Wang CY”/Desktop/2.doc}{如何链接到本地文件夹中文件?} % %%尝试3 % \href{C:/Users/Wang\ CY/Desktop/2.doc}{如何链接到本地文件夹中文件?} % %%尝试4(相对路径) % \href{./2.doc}{如何链接到本地文件夹中文件?}%将2.doc文件和本tex文件置于同一文件夹中 %%失败尝试 \end{document} ```

4 回答4

1
以下代码在我这里没有任何问题,路径中可以有空格,但不能有中文,你再试试: ``` \documentclass{ctexart} \usepackage{hyperref} \begin{document} % 当前路径 \href{run:smartqa.pdf}{test pdf link} % 绝对路径 \href{run:C:/testlink/test.docx}{test word link} % 相对路径 \href{run:testfiles/test.txt}{test TXT link} % 相对路径(空格不影响) \href{run:test files/test.txt}{test TXT link} % 相对路径(中文路径名称失败) \href{run:测试文件/test.txt}{test TXT link} \end{document} ``` 其中`run`应该是要的,否则找不应用程序来打开这个文件。
  • 非常感谢! – ChangChun_D 2019-09-17 08:37 回复
  • 回复 OsbertWang :恩,觉得还是仅量不用绝对路径,路径和文件名不要有空格和中文为好。 – registor 2019-09-17 07:28 回复
  • 难点在于绝对路径中含空格怎么办 – OsbertWang 2019-09-17 00:35 回复
2
我觉得一般用户直接用 `ctexart` 比较好。 接下来,我假设我的文档路径是 `C:\Users\ASUS\Documents\work-latex\test`,在当前路径下,至少有 `main.tex` 文件,文件里添加命令打开 `text.docx` 文件。 下面逐一给出一些情况的最小工作示例 (MWE) # 相对路径 ## 当前目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{./test.docx}{本目录相对路径} \end{document} ``` ## 上一级目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{../test.docx}{上一级目录相对路径} \end{document} ``` ## 下一级目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{./nextpath/test.docx}{下一级目录相对路径} \end{document} ``` # 绝对路径 ## 当前目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{C:/Users/ASUS/Documents/work-latex/test/test.docx}{本目录相对路径} \end{document} ``` ## 上一级目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{C:/Users/ASUS/Documents/work-latex/test.docx}{上一级目录相对路径} \end{document} ``` ## 下一级目录 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{C:/Users/ASUS/Documents/work-latex/test/nextpath/test.docx}{下一级目录相对路径} \end{document} ``` # 一些特殊情况 ## 路径中包含空格 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{./next path/test.docx}{相对路径含空格} \end{document} ``` ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{file:C:/Users/ASUS/Documents/work-latex/test/next path/test.docx}{绝对路径含空格} \end{document} ``` ## 路径中包含下划线 ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{./next_path/test.docx}{相对路径含下划线} \end{document} ``` ``` \documentclass{ctexart} \usepackage[colorlinks,urlcolor=blue]{hyperref} \begin{document} \href{C:/Users/ASUS/Documents/work-latex/test/next_path/test.docx}{绝对路径含下划线} \end{document} ```
2
%
%----如何链接到本地文件夹中文件?
%论坛:https://wenda.latexstudio.net/q-1181.html
%
%----xelatex编译
\documentclass{article}
\usepackage{xeCJK}%使用xeCJK中文处理宏包
\usepackage[colorlinks,color=blue]{hyperref}
%(附加疑问:blue为什么没效果,链接仍显示红色,而非蓝色?)
%
%    解答:链接路径前加run:和file:都能链接成功,但
% 使用run时(\href{run:}{}),blue有效果,链接显示蓝色,使用file时(\href{file:}{})时,blue没效果,需要进一步更改宏包选项
\begin{document}

%%失败尝试
%尝试1
   %\href{run:/C:Users/Wang CY/Desktop/2.doc}{如何链接到本地文件夹中文件?}

%%尝试2
%  \href{"C:/Users/Wang CY/Desktop/2.doc"}{如何链接到本地文件夹中文件?}
%
%%尝试3
%  \href{C:/Users/Wang\ CY/Desktop/2.doc}{如何链接到本地文件夹中文件?}
%
%%尝试4(相对路径)
%  \href{./2.doc}{如何链接到本地文件夹中文件?}%将2.doc文件和本tex文件置于同一文件夹中



%%失败尝试


%====成功尝试

%绝对路径
\href{file:C:/Users/Wang CY/Desktop/2.doc}{如何链接到本地文件夹中文件?} %(此时链接颜色设置不起作用)

\href{run:C:/Users/Wang CY/Desktop/2.doc}{如何链接到本地文件夹中文件?}

%本地路径
\href{run:2.doc}{如何链接到本地文件夹中文件?}

%相对路径
\href{run:ThesisBeamer/2.doc}{如何链接到本地文件夹中文件?}
%====成功尝试

\end{document}
0
链接文本颜色的问题,应该用选项 `filecolor`。参考 `texdoc hyperref`, sec. 3.9。
  • 好的,谢谢~ – ChangChun_D 2019-09-17 08:39 回复

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。