Lyx:将所有边注转换为脚注

Lyx:将所有边注转换为脚注

我正在尝试使用函数缓冲区将所有边注转换为脚注。我尝试了这个命令:

inset-forall marginalnote inset-modify footnote

marginalnotefootnote不是正确的词。我找不到在 LFUN 文档中引用边注的正确方法。感谢您的帮助。

答案1

以下是一个技巧,你应该备份你的 .lyx 文件,并预料到可能会出错。备份并退出 LyX 后,在你的 .lyx 文件上运行以下命令:

sed -i 's/^\\begin_inset Marginal$/\\begin_inset Foot/' <your_lyx_file>

说明:.lyx 文件是纯文本文件,具有自己的格式。不建议直接编辑它,这就是我在上面给出免责声明的原因。上面的 sed 命令只是将 替换为\begin_inset Marginal\begin_inset Foot如果您不是在 Linux 上,您可以在支持查找和替换的文本编辑器中打开 .lyx 文件并进行相应修改。

关于您尝试的方法,这是一个好主意,LyX 应该通过 LFUN(“LyX [内部] 函数”)支持此类转换。我认为未来某个时候支持此类转换的可能性很大,但这只是猜测。我将详细介绍您的方法,即使它目前不起作用:要查找布局的名称,您需要查看布局定义。对于边注,这恰好存储在您计算机上的 stdinsets.inc 文件中。查看该文件,正确的名称是“Marginal”。或者,我认为您也可以在文本文件中打开 .lyx 文件并找到名称。实际上,以下命令可以关闭所有边注:inset-forall Marginal inset-toggle close。不幸的是,我不知道使用 LyX 函数将边注转换为脚注的简单方法(您可以执行全选、剪切、删除、开始脚注、粘贴等操作,但写下所有这些会很烦人)。应该有一种使用 LyX 命令的简单方法来实现这一点,但我认为目前还没有一种容易实现的方法。我认为inset-modify changetype目前不支持您想要的转换。

相关内容