我想将一个 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}