我有需要复制粘贴的 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
但不确定是否要采用这种方法。