超链接和页码之间有冲突吗?

超链接和页码之间有冲突吗?

看起来hyperref软件包和文档的“页码”之间存在冲突(可能与软件包有关fancyhdr?)。以下 MWE 中有 67 条警告。如何解决这种不兼容性,从而删除警告?

\documentclass{article}
\usepackage[a4paper,
        left   = 0.2cm,
        right  = 0.2cm,
        top    = 0.1cm,
        bottom = 0.2cm]{geometry}
\usepackage{lipsum}

\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
            
\setlength\footskip{1pt}
\def\thepage{\smash{\raisebox{10pt}{---\arabic{page}---}}}
\usepackage{fancyhdr} 
\fancyhf{}
\pagestyle{fancy}
\rfoot{\thepage}
\renewcommand{\footrulewidth}{0pt}


\begin{document}

\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]
\href{https://en.wikipedia.org/wiki/LaTeX}{A link to LaTeX}
\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]

\end{document}

在此处输入图片描述

以下是 67 条警告中的一部分:

软件包 lipsum 警告:未知语言“拉丁语”。将改用“英语”的连字符模式。使用 LuaTeX,lipsum 需要 babel 才能获得正确的连字符(您可以使用 \usepackage[base]{babel})。

Package fancyhdr Warning: \footskip is too small (1.0pt): 
(fancyhdr)                Make it at least 12.0pt, for example:
(fancyhdr)                \setlength{\footskip}{12.0pt}.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\setbox' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\z@' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\hbox' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\color@begingroup' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\@ifnextchar' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\endgraf' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\endgroup' on input line 29.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\ht' on input line 29.

ETC...

根据@Ulrike Fischer 的评论进行编辑

非常感谢@Ulrike Fischer,与明显不兼容相关的警告hyperref已消失。但是,页码现在位于底部中心而不是在底部正确的页面的一角,因为我需要:

\documentclass{article}
\usepackage[a4paper,
        left   = 0.2cm,
        right  = 0.2cm,
        top    = 0.1cm,
        bottom = 0.2cm]{geometry}
\usepackage{lipsum}

\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
            
\setlength\footskip{1pt}
% \def\thepage{\smash{\raisebox{10pt}{---\arabic{page}---}}}
\usepackage{fancyhdr} 
\fancyhf{}
\pagestyle{fancy}
\rfoot{\thepage}
\cfoot{\smash{\raisebox{10pt}{---\arabic{page}---}}{\thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}


\begin{document}

\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]
\href{https://en.wikipedia.org/wiki/LaTeX}{A link to LaTeX}
\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]

\end{document}

在此处输入图片描述

如何保持页码在底部正确的页面的角落?

答案1

感谢@Ulrike Fischer 和@John Kormylo 的建议,我得到了我想要的。

诀窍是更换这个

\def\thepage{\smash{\raisebox{10pt}{---\arabic{page}---}}}
\rfoot{\thepage}

有了这个

\fancyfoot[R]{\smash{\raisebox{10pt}{\textbf{---\arabic{page}---}}}}

或者使用这个

\fancyfoot[R]{\smash{\raisebox{10pt}{\textbf{--~\thepage~--}}}} 

以下是整个工作解决方案:

\documentclass{article}
\usepackage[a4paper,
        left   = 0.2cm,
        right  = 0.2cm,
        top    = 0.1cm,
        bottom = 0.2cm]{geometry}
\usepackage{lipsum}

\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
            
\usepackage{fancyhdr} 
\setlength\footskip{1pt}
% \fancyfoot{} % clear all footer fields
\fancyhf{} % remove everything
% \renewcommand{\footrulewidth}{0pt} % remove lines as well
\pagestyle{fancy}
\fancyfoot[R]{\smash{\raisebox{0.5cm}{\textbf{--~\thepage~--}}}} % \hspace*{1cm}



\begin{document}

\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]
\href{https://en.wikipedia.org/wiki/LaTeX}{A link to LaTeX}
\lipsum[1-5]
\lipsum[1-5]
\lipsum[1-5]

\end{document}

在此处输入图片描述

相关内容