Lilypond-book 似乎跳过了包含的文件

Lilypond-book 似乎跳过了包含的文件

我正在尝试在 Windows 上使用 Lilypond。lilypond-book 似乎跳过了子文件。

我在 main.lytex 中创建了一个最小工作/不工作示例,我正在使用 CMD 文件进行处理(见下文)。

前两个版本(lilypond-environment 和 lilypondfile)可以运行,但是第三个版本(包含在子文件中)不可以:

在此处输入图片描述

有什么想法吗,为什么它不起作用?
我是否应该将所有子文件放入一个子目录中,并告诉 lilypond-book 处理此目录中的所有文件?(怎么做?)
我是否忘了告诉 lilypond-book 包含特定目录?

笔记:

  • 在 Linux 上它可以工作(使用\input而不是\include
  • 在操作系统上它可以工作(使用\input而不是\include


主要.lytex

\documentclass{article}
\begin{document}

\section{Lilypond directly}
\begin{lilypond}
    \relative c'
    {
      c4 d e f | g1
    }
\end{lilypond}

\section{Lilypond via include}
\lilypondfile{sheet.ly}

\section{Lilypond included from subfile}
\include{sub}

\end{document}


sub.tex:

\lilypondfile{sheet.ly}


sheet.ly:

\version "2.16.2"

\score {
  <<
    \relative c'
    {
      c4 d e f | g1
    }
  >>
}


我的CMD文件:

set "outputdir=out"
set "includedir=inc"
set "maindir=%CD%"
set "mainfile=main"
set "TEXINPUTS=%TEXINPUTS%;%CD%"

set "lytexfile=%mainfile%.lytex"
set "latexfile=%mainfile%.tex"
set "pdffile=%mainfile%.pdf"

lilypond-book --pdf --output=%outputdir% --loglevel=ERROR %lytexfile% 

cd %outputdir%
pdflatex --interaction=nonstopmode --include-directory=%maindir% %latexfile%

cp %pdffile% ../%pdffile%
cd ..


命令行输出:

D:\path_to_working_dir>createPDF.cmd
这是 pdfTeX,版本 3.1415926-2.3-1.40.12(MiKTeX 2.9)
进入扩展模式
(D:\path_to_working_dir\out\main.tex)
LaTeX2e
巴别塔 (Babel) 和英语、南非荷兰语、古希腊语、阿拉伯语、亚美尼亚语、阿萨姆语、巴斯克语、孟加拉语、博克马尔语、保加利亚语、加泰罗尼亚语、科普特语、克罗地亚语、捷克语、丹麦语、荷兰语、世界语、爱沙尼亚语、波斯语、芬兰语、法语、加利西亚语、德语、german-x-2009-06-19、希腊语、古吉拉特语、印地语、匈牙利语、冰岛语、印度尼西亚语、国际语、爱尔兰语、意大利语、卡纳达语、库尔曼吉语、老挝语、拉丁语、拉脱维亚语、立陶宛语、马拉雅拉姆语、马拉地语、蒙古语、mongolianlmc、monogreek、ngerman、ngerman-x-2009-06-19、尼诺斯克语、奥里雅语、旁遮普语、拼音、波兰语、葡萄牙语、罗马尼亚语、俄语、梵语、塞尔维亚语、斯洛伐克语、斯洛文尼亚语、西班牙语、瑞典语、瑞士德语、泰米尔语、泰卢固语、土耳其语、土库曼语、英国英语、乌克兰语、上索布语、usenglishmax、威尔士语、loaded。
(“C:\ Program Files(x86)\ MiKTeX 2.9 \ tex \ latex \ base \ article.cls”
文档类别:文章 2007/10/19 v1.4h 标准 LaTeX 文档类别
(“C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\size10.clo”))
(“C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\graphics.sty”
(“C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\trig.sty”)
(“C:\Program Files (x86)\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg”)
(“C:\Program Files (x86)\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def”
(“C:\Program Files (x86)\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty”)
(“C:\Program Files (x86)\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty”))
(D:\path_to_working_dir\out\main.aux)
(C:\Users\hardmooth\AppData\Roaming\MiKTeX\2.9\tex\context\base\supp-pdf.mkii
[正在加载 MPS 至 PDF 转换器(版本 2006.09.02)。]
)(D:\path_to_working_dir\out\87/lily-da14f453-systems.tex

(D:\path_to_working_dir\out\05/lily-f1bfdfe8-systems.tex

)[1{C:/Users/hardmooth/AppData/Local/MiKTeX/2.9/pd
ftex/config/pdftex.map} ](D:\path_to_working_dir\out\sub.tex
(D:\path_to_working_dir\out\46/lily-dc205d25-systems.tex

!LaTeX 错误:未找到文件“46/lily-dc205d25-1”。

请参阅 LaTeX 手册或 LaTeX Companion 以获取解释。
输入 H 即可获得紧急帮助。
 ...

l.1 \includegraphics{46/lily-dc205d25-1}
))[2](D:\path_to_working_dir\out\main.aux
(D:\path_to_working_dir\out\sub.aux)))
(更多信息请参阅记录文件)
输出写在 main.pdf 上(2 页,37499 字节)。
记录写在 main.log 上。

答案1

有了lyluatex,包含的文件就可以工作了。主要.lytex应该改名主文本,并修改为包含lyluatex包:

\documentclass{article}
\usepackage{lyluatex}

\begin{document}

\section{Lilypond directly}
\begin{lilypond}
    \relative c'
    {
      c4 d e f | g1
    }
\end{lilypond}

\section{Lilypond via include}
\lilypondfile{sheet.ly}

\section{Lilypond included from subfile}
\include{sub}

\end{document}

其他文件与问题中的一样。编译应该使用lualatex和完成-shell-escape(不需要预处理器命令):

lualatex -shell-escape main

相关内容