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

しかし、このハックを実行したいかどうかはわかりません。

関連情報