我使用fancyvrb
以下方式列出某种multicols
情况下的代码。我使用以下方式对代码进行编号:
\begin{Verbatim}[numbers=left]
当代码在左列时,这是好的,但是当代码在右列时就不好了。我希望将右列中的数字放在右侧。
有没有办法自动将数字放在列出代码的一侧?或者有没有办法确定我在环境中的哪一列multicols
?
答案1
在 CTAN的当前版本中,multicols
不支持查找您所在列的功能。但是在仅当在多列的第一列内时才分列我为此开发了代码,并最终将其纳入 的官方版本multicols
。在此之前,您可以获取该答案中发布的代码,将其打包并使用它代替multicols
。
然后使用
\docolaction{<in the first column>}{<in a middle column>}{<inthe last column>}
并将您想要的任何代码添加到 3 个参数中。如果逐字文本被拆分到不同的列中,则这不会为您提供行号的交换。说实话,我认为提供这一点会很困难。
更新
快速浏览fancyvrb
文档后,我发现了一种可以防止Verbatim
环境跨列破坏的可能性:有一个samepage=true
可以用于此的关键。