我想要得到以下效果:
我写了下面的代码,但是编译不通过,不知道哪里出了问题,或者怎么才能得到图1的效果,该怎么办?
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\node [draw, circle, inner sep=0.2pt] {\textbf{1}};
\end{tikzpicture}
\caption{\tikz{ \node [draw, circle, inner sep=0.2pt] {\textbf{1}};} is a node.}
\label{pic}
\end{figure}
\end{document}
答案1
\protect
如果脆弱命令用于移动参数,则需要使用脆弱命令,如\caption
。参数移动到文件.aux
,然后从那里移动到.lof
文件以获取图表列表:
\caption{\protect\tikz{\protect\node [draw, circle, inner sep=0.2pt] {\textbf{1}};} is a node.}
下面的示例将节点文本的基线移动到上下文基线,定义一个用于文本中节点的强健宏\caption
并定义一种样式。
\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}
\tikzstyle{bold circled} = [
circle,
draw,
inner sep=0.2pt,
node font=\bfseries,
]
\DeclareRobustCommand*\BoldCircled[1]{%
\tikz[baseline=(X.base)]
\node[bold circled] (X) {#1};%
}
\begin{document}
\listoffigures
\begin{figure}
\centering
\begin{tikzpicture}
\node[bold circled] {1};
\end{tikzpicture}
\caption{\BoldCircled{1} is a node.}
\label{pic}
\end{figure}
\end{document}