答案1
我能够合成这个答案用于引用列表行这个答案制作彩色圆圈数字。我确实不得不使用 TikZ。
用 标记一行(*\codelabel{name}*)
并用 引用它\coderef{name}
。
\documentclass{article}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{tikz}
\lstset{
basicstyle=\ttfamily,
escapeinside={(*}{*)}, % used to set up \codelabel
frame=tb
}
\newcommand*{\circled}[1]{\tikz[baseline=(char.base)]{%
\node[shape=circle,fill=black,draw,inner sep=0.5pt]
(char) {\footnotesize\textcolor{white}{#1}};}}
\newcounter{codectr}
\newcommand*{\codelabel}[1]{\refstepcounter{codectr}\circled{\arabic{codectr}}
\label{#1}}
\newcommand*{\coderef}[1]{\circled{\ref{#1}}}
\begin{document}
\begin{lstlisting}[caption={\itshape\texttt{type} and \texttt{attribute}
statements}]
attribute file_type; (*\codelabel{ft_attr}*)
attribute domain; (*\codelabel{dom_attr}*)
type system_data_file, file_type, data_file_type; (*\codelabel{sfd_type}*)
type untrusted_app, domain; (*\codelabel{untrusted}*)
\end{lstlisting}
Here, the first~\coderef{ft_attr} and second~\coderef{dom_attr} statements
declare the \verb+file_type+ and \verb+domain+ attributes, and the next
statement~\coderef{sfd_type} declares the \verb+system_data_file+
\end{document}
如果您希望使用该hyperref
包将您的参考资料变成可点击的链接,那么这也可以起作用。