之前参照lilpond手残粉这位大佬的博客,然后顺利的在vscode上利用Latex与lilypond进行谱文混排。
但是最近换了电脑之后真的是一大堆问题出现。
在球子哥的推荐下使用了pycharm。
pycharm还没有怎么详细的使用,我就想试一下能不能在上面同样的调用lilypond。
我去搜索了插件,只有latex相关的,但是没有lilypond相关的。
我抱着试一试的心态,写了一段简单的demo进行启动。
\documentclass[fontset=none,12pt]{ctexart}
\usepackage{lyluatex}
\begin{document}
asaudhkashdkj
\lilypond{c' d' e'}
\end{document}
其中lyluatex
是调用lilypond的关键因素。
运行之后无事发生,我想起在vscode上是需要设置编译器的,但是pycharm上好像没有看到。
找了一下原来是在上方的运行
里面,有一个编辑配置
,点击去之后就是下面的配置:
- 理所应当的,在
Compiler
改成LuaLaTex
,否则lyluatex
没法被顺利调用。
接着再次运行之后,在本地目录下出现了一个tmp-ly
的文件夹,虽然文件夹里面没有任何内容。但是我知道至少lyluatex
是顺利启动。
接下来看一下报错信息:
Module lyluatex Error: LilyPond could not be started.
(lyluatex) Please check that LuaLaTeX is started with the
(lyluatex) --shell-escape option, and that 'program'
(lyluatex) points to a valid LilyPond executable.
(lyluatex) on input line 8
并不是很懂,我也不知道怎么去添加路径啥的,于是直接复制报错信息去StackExchange上找。非常幸运找到了一个完全一样的问题:
根据下面回复的代码,我才知道原来可以直接在调用lyluatex
的时候添加路径,而不需要去配置环境变量。于是我跟着修改了一下代码:
\documentclass[fontset=none,12pt]{ctexart}
\usepackage[program=/opt/homebrew/Cellar/lilypond/2.24.1/bin/lilypond]{lyluatex}
\begin{document}
asaudhkashdkj
\lilypond{c' d' e'}
\end{document}
- 因为写python的习惯,总是想着字符串要不要加引号。事实上是不用的。
这个问题虽然解决了,但还是运行失败。
作者自己的回复是:
I've added
--shell-escape
to the LuaLaTeX preferences on TeXworks above the file name
, and then I press compile with LuaLaTeX. However, I receive the following error.
我不知道在哪里加,于是又回到pycharm这里,找到了一个比较合适的地方,然后复制进去。
终于是被我猜对了,接下来一切正常。
总结
所以我之前的认知还是有点问题,其实lilypond插件只是方便在编辑器里面调用lilypond,但是对LaTex没有影响。Latex靠的主要就是lyluatex
来调用lilypond,只是需要额外的添加一条路径来告诉它lilypond在哪个位置。