如何用Libreoffice中的描述替换所有图像

我有一个很长的文档,其中包含使用扩展TexMaths创建的大量svg图像。 该扩展使用乳胶装置来创建输入方程(或方程组)的svg图像。 每个方程(或方程组)的乳胶代码作为其描述的一部分嵌入图像中。 右键单击svg图像并选择“描述”选项即可访问此类描述。

我想通过嵌入的描述使用合适的宏替换所有svg图像。

例如来自

爱因斯坦着名的等式[svg嵌入式: E = mc 2 ]告诉我们质量可以转换为能量,反之亦然。

爱因斯坦着名的等式E = mc ^ 2告诉我们质量可以转换为能量,反之亦然。

这将允许我手动转换包含许多TexMaths方程的odt文件到LaTeX。

这是一种不使用宏的不同方式。 因为.odt文件基本上只是压缩文件而主文件是XML。

  1. 创建XML样式表texmath_raw_equation.xslt

  2. .odt文件解压缩到tmp文件夹,例如texmath_test.odt

     7z x -otmp texmath_test.odt 
  3. 将TexMath图像(由标记保存)替换为其描述(由标记保存)

     xsltproc -o content.xml texmath_raw_equation.xslt tmp/content.xml mv content.xml tmp/content.xml 
  4. 压缩回新的.odt文件

     cd tmp 7z a -tzip ../texmath_test_new.odt * cd .. rm -r tmp 

参考文献:

  • XSLT转换替换通过文档定期出现的标记
  • man xsltproc