如何在代码清单中添加这样的脚注

如何在代码清单中添加这样的脚注

最近我看到了一本关于如何使用的手册词汇表源代码第 14 页有一个脚注: 在此处输入图片描述

  1. 打开源代码
  2. 从服务器下载
  3. 通过下载完成的 pdf 文件,我想在我的代码中实现相同的功能,请问您能帮助我吗?

大致看起来应该是这样的: 在此处输入图片描述

如果没有所需的脚注,它看起来像这样: 在此处输入图片描述

我的消息来源:一切都准备就绪背面

主文本

\documentclass[12pt]{article}
\usepackage{style/code-style}

\begin{document}

\lstinputlisting{code/code.cpp}

\end{document}

风格/代码风格.sty

\usepackage[utf8]{inputenc}

\usepackage[english]{babel}

\usepackage{hyperref}
\usepackage{longtable}
\usepackage[table]{xcolor}
\usepackage{array}
\usepackage{color}
\usepackage{xcolor}

\usepackage{ulem}
\usepackage{listings}
\usepackage{graphicx}



\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,
    urlcolor=cyan,
}


\usepackage{graphicx}

\usepackage{listings}
\lstset{tabsize=12,
    breaklines,
    columns=fullflexible,
    flexiblecolumns,
    numbers=left,
    numberstyle={\footnotesize},
    inputencoding=utf8,
    extendedchars=true,
    }

\usepackage{longtable}



\renewcommand{\thesubsection}{\arabic{subsection}}

\definecolor{dkgreen}{rgb}{0,0.4,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{lightgray}{rgb}{0.95,0.95,0.95}
\definecolor{mauve}{rgb}{0.58,0,0.82}

\def\commentstyle{\color{gray}}
\lstset{ %
  language=C++,                   % the language of the code
  basicstyle=\footnotesize\ttfamily, % the size of the fonts that are used for the code
  numbers=left,                   % where to put the line-numbers
  numberstyle=\footnotesize\color{black},  % the style that is used for the line-numbers
  stepnumber=1,                   % the step between two line-numbers. If it's 1, each line 
                                  % will be numbered
  numbersep=0.7em,                % how far the line-numbers are from the code
  backgroundcolor=\color{lightgray}, % choose the background color. You must add \usepackage{color}
  showspaces=false,               % show spaces adding particular underscores
  showstringspaces=false,         % underline spaces within strings
  showtabs=false,                 % show tabs within strings adding particular underscores
  frame=single,                   % adds a frame around the code
  rulecolor=\color{black},        % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here))
  tabsize=2,                      % sets default tabsize to 2 spaces
  breaklines=true,                % sets automatic line breaking
  breakatwhitespace=false,        % sets if automatic breaks should only happen at whitespace
  identifierstyle=\color{blue!25!black},  
  keywordstyle=\color{blue!90!black},      % keyword style
  commentstyle=\commentstyle,     % comment style
  stringstyle=\color{mauve},      % string literal style
  escapeinside={\`}{\`},          % if you want to add a comment within your code
  escapebegin=\commentstyle\footnotesize,
  %morekeywords={n,k},             % if you want to add more keywords to the set
  morecomment=[l][\color{dkgreen}]{\#}, % to color #include<cstdio> 
  morecomment=[s][\commentstyle\color{gray!50!black}]{/**}{*/}
}

代码/代码.cpp

vector<int> divisors[n + 1];
for (int a = 1; a <= n; a++)
  for (int b = a; b <= n; b += a) divisors[b].push_back(a);

提前谢谢您,干杯!

答案1

嗯,从外观上看,Talbot 使用tcolorboxgraphicxhyperref包来创建您展示的示例中的布局。

tcolorbox创建带有 PDF 图标的框和标题。该graphicx包用于将图标插入href语句:`href[options]{URL}{text/icon}。

我玩了一下,从网上下载了一些相关的图标,并创建了这个小型 MWE,它展示了与您的示例相同的想法:

\documentclass[a4paper,11pt]{article}

\usepackage[many]{tcolorbox}
\usepackage{graphicx}
\usepackage{hyperref}

\begin{document}
    
    \begin{tcolorbox}[rounded corners,arc=8pt,size=fbox,boxsep=6pt,enhanced,attach boxed title to top right={yshift=-3mm,xshift=-3mm},title={\href{url}{\includegraphics*[width=4mm]{pdf_icon.png}}}]
    \hfill \href{ulr2}{\includegraphics*[width=3mm]{clip_icon.png}}
        \hspace{1mm} \href{ulr2}{\includegraphics*[width=3mm]{down_icon.png}}
        \vspace{-18pt}
    \begin{verbatim}
        vector<int> divisors[n + 1];
        for (int a = 1; a <= n; a++)
        for (int b = a; b <= n; b += a) divisors[b].push_back(a);
    \end{verbatim}
    \end{tcolorbox}

\end{document}

输出如下所示:

在此处输入图片描述

相关内容