我有一堆木星笔记本,上面写着用LaTex写的方程式。我知道我可以将笔记本转换成HTML,如下所示。
jupyter nbconvert --to html --template basic test.ipynb test.html但是,保留LaTex标记。例如,如果我有$y = w'x$,那么它仍然显示在输出HTML中。我希望将生成的HTML导入WordPress (基本上是复制/粘贴),但是WordPress像这个$latex y = w'x$那样分隔LaTex。
如何使用perl或sed (或其他任何东西)将$y = w'x转换为$latex y = w'x$?
我知道我可以编写一个程序来完成这个任务,但我认为这太过分了,因为我确信这些可用的命令行工具可以做到这一点。此外,在Windows和Mac/Linux上都可以使用的任何工具都是额外的,因为我在这两种环境类型上都工作,并且不想使用类似于*nix的环境来进行这种转换(不过,Windows现在确实有Windows Linux子系统,所以我想如果它只是一个Linux工具的话,那就可以了)。
我试图从这个sed (在Mac上)修改这个帖子表达式,但是它没有工作。
sed -e ' /\$\$/{s/\$\$/{\$latex }/;:a;N;/\$\$/!ba;s/\$\$/{\$}/};s/^\(\$\)\(.*\)\(\$\)$/{\$latex }\2{\$}/' test.html意外EOF (待定})
发布于 2018-05-10 03:17:03
您可以使用以下sed命令:
sed -e 's/\$\([^$]*\)\$/$\\latex \1$/g'输入:
$ echo -e "abc \$y = w'x$ toto\n123 \$u = v'w$ xyz"
abc $y = w'x$ toto
123 $u = v'w$ xyz输出:
echo -e "abc \$y = w'x$ toto\n123 \$u = v'w$ xyz" | sed -e 's/\$\([^$]*\)\$/$\\latex \1$/g'
abc $\latex y = w'x$ toto
123 $\latex u = v'w$ xyz解释:
在查找和替换模式中使用sed,它将通过下面的regex:\$\([^$]*\)\$替换两个$字符之间的所有内容(反向引用),并在开头添加\latex。
最后但并非最不重要的一点是,下面的sed -e 's/\$\([^$]*\)\$/$latex \1$/g' sed命令在没有\的情况下执行$latex替换
发布于 2018-05-10 03:11:27
我不知道你的文件的全部格式。如果我以面值为例,并假设任何行上的第一个$位于第1列,那么
sed -e's/^\$/$\\latex /'为我工作。但是如果要转换的字符串在文件中的任何位置,那么事情就变得更加困难了。
https://stackoverflow.com/questions/50264816
复制相似问题