在 tex 中複製可貼上的程式碼

在 tex 中複製可貼上的程式碼

我有 XML 程式碼,需要複製貼上。這是程式碼

<joint name="joint1" type="continuous">
  <parent link="link1"/>
  <child link="link2"/>
  <origin xyz="5 3 0" rpy="0 0 0" />
</joint>

我已使用 accsup 使其可複製/貼上,如下所示:

\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{listings}
\lstset{ 
upquote=true,
columns=fullflexible,
literate={\ }{{\copyablespace}}1
}

\usepackage[space=true]{accsupp}
% requires the latest version of package accsupp
\newcommand{\copyablespace}{
\BeginAccSupp{method=hex,ActualText=00A0}
\ %
\EndAccSupp{}
}

我是 LaTex 的新手,不確定這裡到底發生了什麼事。但這BeginAccSupp部分是將 pdf 中的每個空格替換為 3 個空格,當我複製貼上時也是如此。

<joint   name="joint1"   type="continuous">
    <parent   link="link1"/>
    <child   link="link2"/>
    <origin   xyz="5   3   0"   rpy="0   0   0"   />
</joint>

我究竟做錯了什麼?

編輯 !在@Phelype Oleinik的解決方案之後,PDF看起來不錯,複製/貼上後的縮排也很好,但行之間的空格仍然相同

<joint   name="joint1"   type="continuous">
 <parent   link="link1"/>
 <child   link="link2"/>
 <origin   xyz="5   3   0"   rpy="0   0   0"   />
</joint>

編輯2:一個有效的技巧(儘管不適用於字串空格)是用{lstlisting}.

所以 tex 中的程式碼如下所示:

<joint  name="joint1" type="continuous">
  <parent   link="link1"/>
  <child    link="link2"/>
  <origin   xyz="5 3 0" rpy="0 0 0" />
</joint>

複製/貼上的程式碼看起來像:

<joint name="joint1"   type="continuous">
 <parent link="link1"/>
 <child link="link2"/>
 <origin xyz="5   3   0"   rpy="0   0   0"   />
</joint

但不確定我是否想要使用這個 hack。

相關內容