颜色切换对脚注、长表和超链接存在问题

颜色切换对脚注、长表和超链接存在问题

当使用colorswitch 形式的包时(\color参见\textcolor),使用某些包、脚注和章节标题时可能会造成混淆。章节标题问题在我的另一个问题但是,即使采用了\zcolorDavid Carlisle(彩色作者)所建议的强健的命令定义,这仍然会导致脚注以及longtablehyperref包出现问题。

请参阅下面的 LaTeX 源代码:

(a) 彩色文本的脚注会失去颜色。

(b)hyperref脚注内的 URL 恢复颜色!(如果使用包则不会发生这种情况url。)

(c) 浮动长表可以/将会获得其浮动到的页面上的文本颜色,即使在非彩色区域中定义也是如此。(使用tabletabular不会出现此问题。我使用该afterpage包强制表格位于下一页,并假设如果它“自然”地位于下一页,问题仍然存在。)

\documentclass[11pt,a4paper,twoside,notitlepage]{article}

%\usepackage{url}      % URLs in footnotes consistent (no color) if use this instead
\usepackage{hyperref}
\usepackage{breakurl}
\usepackage[usenames,dvips]{color}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage{longtable}

\newcommand{\startToDo}{\color{Purple}}
\newcommand{\stopToDo}{\color{Black}}

\author{Stuart Rossiter}
\title{Color weirdness test}
\date{4th November 2013}

\begin{document}

\maketitle

\startToDo          % Works with titles
\section{Wibble Wobble}
\lipsum[1-4]
What about footnote weirdness?\footnote{A profound footnote that should be
colored with a URL:
\url{http://wibblewobble.org}.}
\stopToDo

\lipsum[1-3]

\afterpage{         % Just to force it to be on page with colored text
\begin{longtable}{ccc}      % Table is OK if use normal table and tabular
%\begin{table}
%\begin{tabular}{ccc}
a & b & c \\
d & e & f \\
\caption{An astonishing table that shouldn't be coloured.}
%\end{tabular}
%\end{table}
\end{longtable}
}

\section{Wobble Wibble}

\startToDo
\lipsum
\stopToDo

\end{document}

我想我的问题是:

我能否将其color“固定”起来,以便在所有这些场景中都能稳健地工作?

(大卫回答我的其他问题这表明color在这种扭曲的结构中存在根本问题,并且无法自行“修复”。

正如\startToDo\stopToDo(自定义)宏所建议的那样,我使用color它来标记待办事项文本。我将单独提出一个问题,了解更好的替代方案(可以避免这些颜色问题)。

答案1

我改变了color不明确使用的选项dvips,因此它可以与latex/dvips和一起使用pdflatex(您很少需要提供驱动程序选项)

我添加了一个\normalcolor重置​​来\afterpage模仿\normalcolor浮点数的作用。

相反,我\startToDo 在脚注中添加了 来克服脚注的颜色重置,因此脚注变成了紫色。

我认为这现在与 pdflatex 或 latex/dvips/ps2pdf 产生了相同的结果,并且我认为这是您想要的结果......

\documentclass[11pt,a4paper,twoside,notitlepage]{article}

%\usepackage{url}      % URLs in footnotes consistent (no color) if use this instead
\usepackage{hyperref}
\usepackage{breakurl}
\usepackage[usenames,dvipsnames]{color}
\usepackage{lipsum}
\usepackage{afterpage}
\usepackage{longtable}

\newcommand{\startToDo}{\color{Purple}}
\newcommand{\stopToDo}{\color{Black}}

\author{Stuart Rossiter}
\title{Color weirdness test}
\date{4th November 2013}

\begin{document}

\maketitle

\startToDo          % Works with titles
\section{Wibble Wobble}
\lipsum[1-4]
What about footnote weirdness?\footnote{\startToDo A profound footnote that should be
colored with a URL:
\url{http://wibblewobble.org}.}
\stopToDo

\lipsum[1-3]

\afterpage{{\normalcolor        % Just to force it to be on page with colored text
\begin{longtable}{ccc}      % Table is OK if use normal table and tabular
%\begin{table}
%\begin{tabular}{ccc}
a & b & c \\
d & e & f \\
\caption{An astonishing table that shouldn't be coloured.}
%\end{tabular}
%\end{table}
\end{longtable}
}}

\section{Wobble Wibble}

\startToDo
\lipsum
\stopToDo

\end{document}

相关内容