从 lstlisting 复制并转换为 pdf

从 lstlisting 复制并转换为 pdf

我使用 pdflatex 转换我的 tex 文件,由于文档的技术性质,我使用了大量 lstlisting。我遇到的主要问题是使文本易于复制/粘贴。请参阅随附的屏幕截图,对于 C 代码中的 #include 和 #define,看起来文本被选中并作为列而不是行复制。

在此处输入图片描述

粘贴时会导致代码损坏,第一行仅是#include,之后的几行是包含的包的名称,导致代码无法使用。

有没有办法强制按行复制文本?

如果它能有任何帮助,这里是我的列表使用的样式:

\usepackage{listings}
\usepackage{color}

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

\lstset{frame=tb,
  language=Bash,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
  columns=fullflexible,
  basicstyle={\small\ttfamily},
  numbers=none,
  numberstyle=\tiny\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{dkgreen},
  stringstyle=\color{mauve},
  breaklines=true,
  prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
  breakatwhitespace=true,
  tabsize=3,
  upquote=true,
  backgroundcolor = \color{lightgray},
  xleftmargin=10pt,
  xrightmargin=10pt,
  framexleftmargin=10pt,
  framexrightmargin=10pt,
  keepspaces=true
}

相关内容