设置双精度浮点数的页面颜色

设置双精度浮点数的页面颜色

我有一个自定义命令,包含两个 实例\@dblfloat。我想更改出现这种情况的页面上的页面颜色。我可以对 的单个实例执行此操作\@dblfloat,但不能对更多实例执行此操作。

在以下示例中,第一个图形被正确着色为蓝色,但后续图形则不是。如果我放置\pagecolorwithout \afterpagebefore \@dblfloat,浮动元素之前的页面也会被着色。

(请注意,在此示例中,我使用图形浮点数来提供 MWE,但我希望为所有浮点数(包括自定义浮点数)提供解决方案。)

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{afterpage}

\makeatletter
\newenvironment{dblfigure}{
  \afterpage{\pagecolor{blue!50}}
    \@dblfloat{figure}  
}{
  \afterpage{\clearpage\nopagecolor}
    \end@dblfloat

}

\newcommand{\dblpagefigure}[2]{

    \@dblfloat{figure}
     % \pagecolor{blue!50} puts color too early
      #1
    \end@dblfloat
    \@dblfloat{figure}
      #2
    \end@dblfloat
}
\makeatother

\usepackage{lipsum}

\begin{document}

\lipsum[1-4]
\begin{dblfigure}
\caption{Some other figure}
\includegraphics{example-image}
\end{dblfigure}

\lipsum
Some text to avoid `\lipsum` taking up an exact page.

\lipsum

\dblpagefigure{
    \caption{Some figure}
    \includegraphics[width=\textwidth]{example-image}
}{
    \caption{Another figure}
    \includegraphics[width=\textwidth]{example-image}
    \afterpage{\clearpage\nopagecolor}
}

\lipsum
\lipsum


\end{document}

答案1

可能上一页的图也是彩色的,因为浮点在乳胶中的工作方式。例如,看绿色页面,它没有这个问题

\documentclass[twocolumn]{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{afterpage}

\makeatletter
\newenvironment{dblfigure}{
  \pagecolor{blue!50}\afterpage{\nopagecolor}
    \@dblfloat{figure} 
} {
  \end@dblfloat
}

\newenvironment{sglfigure}{
  \pagecolor{green!50}\afterpage{\nopagecolor}
  \begin{figure}
} {
  \end{figure}
}

\newcommand{\dblpagefigure}[2]{

    \begin{dblfigure}
      #1
    \end{dblfigure}
    % 
    \begin{dblfigure}
      #2
    \end{dblfigure}
}
\makeatother

\usepackage{lipsum}

\begin{document}

\lipsum[1-4]

\begin{dblfigure}
\caption{Some other figure}
\includegraphics{example-image}
\end{dblfigure}

\lipsum
Some text to avoid `\lipsum` taking up an exact page.

\lipsum

\dblpagefigure{
  \caption{Some figure}
  \includegraphics[width=\textwidth]{example-image}
}{
  \caption{Another figure}
  \includegraphics[width=\textwidth]{example-image}
}

\lipsum
\lipsum

\lipsum[1]
\begin{sglfigure}
\caption{Some other figure}
\includegraphics[width = 0.5\textwidth]{example-image}
\end{sglfigure}

\lipsum


\end{document}

在此处输入图片描述

相关内容