如何在标题中使用 circledsteps?

如何在标题中使用 circledsteps?

我正在使用circledsteps包来排版数字,如以下 MWE 所示:

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{circledsteps}
\newcommand{\mycircle}{\pgfkeys{/csteps/fill color=yellow}\Circled{123}}
\begin{document}
See Case \mycircle in Figure \ref{myfigure}.
\begin{figure}[h]
\begin{center}
\begin{tikzpicture}
\draw (0,0) -- (1,1) -- (1,0) -- cycle;
\end{tikzpicture}
\end{center}
\caption{Case 123}
\label{myfigure}
\end{figure}
\end{document}

这使

在此处输入图片描述

然而,当用以下文字代替标题时

\caption{Case \mycircle}

编译没有完成。发生了什么?

答案1

\pgfkeys在移动参数中使用该命令时必须受到保护;因此您应该执行以下操作:

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{circledsteps}
\newcommand{\mycircle}{\pgfkeys{/csteps/fill color=yellow}\Circled{123}}
\begin{document}
See Case \mycircle{} in Figure \ref{myfigure}.
\begin{figure}[h]
\begin{center}
\begin{tikzpicture}
\draw (0,0) -- (1,1) -- (1,0) -- cycle;
\end{tikzpicture}
\end{center}
\caption{Case \protect\mycircle}
\label{myfigure}
\end{figure}
\end{document}

真正的问题是,当将参数“移动”到图形列表的列表中时,它会失败(如果您这样做,您的版本可以正常工作\caption[case 123]{Case \mycircle}

...但不管怎么说,这个想法是,你只需设置一次样式,所以我要做的是

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{circledsteps}
\pgfkeys{/csteps/fill color=yellow}
\newcommand{\mycircle}{\Circled{123}}
\begin{document}
See Case \mycircle{} in Figure \ref{myfigure}.
\begin{figure}[h]
\begin{center}
\begin{tikzpicture}
\draw (0,0) -- (1,1) -- (1,0) -- cycle;
\end{tikzpicture}
\end{center}
\caption{Case \mycircle}
\label{myfigure}
\end{figure}
\end{document}

或使用

\newcommand{\mycircle}{\Circled[fill color=green]{123}}

例如。

答案2

\Circled在标题中使用我没有问题。我还center用指令替换了环境\centering,以删除不需要的垂直间距。

    \documentclass{article}
    \usepackage{graphicx}
    \usepackage{tikz}
    \usepackage{circledsteps}
    \newcommand{\mycircle}{\pgfkeys{/csteps/fill color=yellow}\Circled{123}}

    \begin{document}

    See Case \mycircle in Figure \ref{myfigure}.
    \begin{figure}[h]
    \centering}
    \begin{tikzpicture}
    \draw (0,0) -- (1,1) -- (1,0) -- cycle;
    \end{tikzpicture}
    \caption{Case \Circled{123}}
    \label{myfigure}
    \end{figure}

    \end{document} 

在此处输入图片描述

相关内容