最近我看到了一本关于如何使用的手册词汇表,源代码第 14 页有一个脚注:
- 打开源代码
- 从服务器下载
- 通过下载完成的 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 使用tcolorbox
、graphicx
和hyperref
包来创建您展示的示例中的布局。
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}
输出如下所示: