コピーして貼り付ける必要がある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
しかし、このハックを実行したいかどうかはわかりません。