如何将 \pgfuseshading 对象放入标题内

如何将 \pgfuseshading 对象放入标题内

我想将一个 pgf 对象\pgfuseshading{}放在图形或表格的标题内。以下代码创建了这个 pgf 对象,该对象可以在文档的文本 () 中创建,\pgfuseshading{CyanToBlue}但放在标题 ( \caption {\pgfuseshading{spectrumRedToBlue}}) 内时会导致错误。

如能帮助将此 pgf 对象放入表格标题中,我们将不胜感激。

谢谢

\RequirePackage[l2tabu, orthodox]{nag}

\documentclass[a4paper,10pt]{report}

\usepackage{color}
\usepackage[usenames,dvipsnames,svgnames,x11names]{xcolor}

\usepackage{pgf}

\pgfdeclarehorizontalshading{CyanToBlue}{0.25cm}{color(0cm)=(Cyan); color(0.6cm)=(Blue)}                                                                                                                                                   

\pgfdeclarehorizontalshading{spectrumRedToBlue}{0.25cm}{color(0cm)=(Red); 
color(0.15cm)=(Orange);
color(0.25cm)=(Yellow);
color(0.35cm)=(SpringGreen);
color(0.45cm)=(Cyan);
color(0.65cm)=(Blue)} 

\begin{document}

 \pgfuseshading{CyanToBlue} 

\begin{table}
 \caption {Geometry \pgfuseshading{spectrumRedToBlue} }
\begin{center}

    \begin{tabular}{l c c c }
    \hline\hline
    Atom & x ($\AA{}$) & y ($\AA{}$) & z ($\AA{}$) \\ \hline
      C & -0.32   & -0.878  & -0.7512 \\ 

    \hline\hline
    \end{tabular}

\end{center}
\label{tab:} 
\end{table}

\end{document}   

答案1

您可以使用\protect...

\caption{Geometry \protect\pgfuseshading{spectrumRedToBlue}}

... 要得到: 在此处输入图片描述

它的工作原理在脆弱命令和坚固命令之间有什么区别?。但它也会出现在目录中。请参阅类似问题的其他解决方案将图形放置在图片标题内。因此,如果它不应该出现在目录中,您可以使用它\caption[Geometry]{Geometry \pgfuseshading{spectrumRedToBlue} or \pgfuseshading{CyanToBlue}}来代替。

梅威瑟:

\documentclass{report}
\usepackage[svgnames]{xcolor}
\usepackage{pgf}
\pgfdeclarehorizontalshading{CyanToBlue}{0.25cm}{color(0cm)=(Cyan); color(0.6cm)=(Blue)}                                                                                                                                                   
\pgfdeclarehorizontalshading{spectrumRedToBlue}{0.25cm}{color(0cm)=(Red); 
color(0.15cm)=(Orange);color(0.25cm)=(Yellow);color(0.35cm)=(SpringGreen);
color(0.45cm)=(Cyan);color(0.65cm)=(Blue)} 
\begin{document}
\begin{table}
\caption {Geometry \protect\pgfuseshading{spectrumRedToBlue} or  \protect\pgfuseshading{CyanToBlue}  }
%\caption[Geometry]{Geometry \pgfuseshading{spectrumRedToBlue} or \pgfuseshading{CyanToBlue}}
\begin{center}
    \begin{tabular}{l c c c }
    \hline\hline
    Atom & x ($\AA{}$) & y ($\AA{}$) & z ($\AA{}$) \\ \hline
      C & -0.32   & -0.878  & -0.7512 \\ 
    \hline\hline
    \end{tabular}
\end{center}
\label{tab:} 
\end{table}
\end{document}  

相关内容