MusiXTeX 与 musixflx 的问题

MusiXTeX 与 musixflx 的问题

我尝试MusiXTeX按照描述的三遍系统来编制我的乐谱(用包准备)这里(第 1.3 部分)。因此,我先运行etex我的 .tex 文件,然后运行musixflx上一步中创建的 .mx1 文件,然后etex再次运行。问题是,它没有产生任何结果(我的意思是 pdf 输出保持不变)。我认为这可能与执行第二遍(运行musixflx)生成的 .mx2 文件似乎为空有关。我使用 TeXStudio 编辑器和 TeXLive 发行版。

这是我的 MWE:

\documentclass[a4paper,12pt]{article}
\usepackage{musixtex,etex}

\begin{document}
    \begin{music}
        \nobarnumbers
        \setstaffs1{2}
        \setclef1\bass
        \generalsignature{-1}
        
        \startextract

            \notesp
            {\zql{`f}}\qu{`h} {\zql{f}}\qu{h} {\zql{f}}\qu{h} {\zw f}\isluru0i\hu{i*} \tslur0{'c}\hu{c*} \qu{`f*} \caesura
            \wh{f**} {\lql f}\qu{g} {\zql f}\qu{h} {\zhl f}\hu{i*} {\zwh f}\wh{i**}
            | 
            \qu{fff} {\lw f}\ibsluru0g\hu{g*} \tslur0h\hu{h*} \qu{f*} \caesura
            \wh{f**} {\lql f}\qu{g} {\zql f}\qu{h} {\zhl f}\hu{i*} {\zwh f}\wh{i**}
            \en\bar

            \notesp
            {\zwqq{c}}\wqq{`f****} {\zhu{i}}\hl{c*} {\zw{h}}\wh{f**}
            | 
            {\zwqq{f}}\wqq{h****} {\zhl{e}}\hu{g*} {\zw{d}}\wh{f**}
            \en
            \Endpiece
    
        \zendextract
    \end{music}
\end{document}

答案1

我尝试使用您的样本 latex musixflxlatex进行处理,对我来说,似乎样本本身没有产生任何.mx2文件。

文档说最好的例子就是文档本身,为什么不尝试一下呢?

在这里,我给你附上了一个有用的工具makefile,使用命令行可以非常容易。

# Author: [email protected]
# Date: 05-04-2018
# MusiXTeX musixdoc tutorial example makefile
## First, set the main filename = YOUR_TEX_FILE_NAME_WITHOUT_.TEX
# $ make, to run commands in this file
# $ make read, to read the pdf file
# $ make clean, to clean the inter file

filename=YOUR_TEX_FILE_NAME

all:
    latex ${filename}
    musixflx ${filename}
    bibtex ${filename}||true
    latex ${filename}
    makeindex ${filename}
    latex ${filename}
    latex ${filename}
    dvips -e0 ${filename}
    ps2pdf ${filename}.ps

read:
    evince ${filename}.pdf &

oread:
    okular ${filename}.pdf

clean:
    -rm -f *.aux
    -rm -f *.ps
    -rm -f *.dvi
    -rm -f *.idx
    -rm -f *.ilg
    -rm -f *.ind
    -rm -f *.mx1
    -rm -f *.mx2
    -rm -f *.log
    -rm -f *.toc
    -rm -f *.bbl
    -rm -f *.blg
    -rm -f *.out
    -rm -f make/bib

答案2

我建议使用 Visual Studio Code 只需单击一下即可使用 latexmkrc 文件进行编译:

$xelatex = 'internal musixlatex %R %O %S';
push @generated_exts,"mx2";
push @generated_exts,"mx1";

sub musixlatex {
   my $root = shift;
   # Define root filename for the mx1 and mx2 files
   # Note that $aux_dir1 includes directory separator
   #      and it equals $out_dir1 if only the out_dir is set.
   my $mx = "$aux_dir1$root";
   my @args = @_;
   if ( $pass{$rule} <= 1 ) { 
      print "======= FIRST PASS: Deleting '$mx.mx2' =======\n";
      unlink "$mx.mx2"; 
      print "====   Generating '$mx.mx1' then '$mx.mx2' ===\n";
      my $ret = system( "xelatex @args" );
      if ($ret) { return $ret; }
      $ret = system( "musixflx $mx" );
      if ($ret) { return $ret; }
   }
   return system( "xelatex @args" );
}

另外,我重新配置了您的文件,如下所示:

\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{polyglossia}
\setmainlanguage{spanish}

\usepackage{musixtex}
\input{musixlyr}
\input{musixlyr}
\input {musixcho}
\input {musixdat}%fecha
\input {musixfll}
\input {musixgre}%gregoriano
\input {musixper}%percusión
\input {musixppff}
\input {musixstr}
\input {musixvbm}  % experimental vectorized beams
\input {musixdbr} % lineas de barras punteadas, discontinuas y arbitrariamente discontinuas
\input {musixbm} % compatibilidad garrapateas con ganchos o con barras
\input {musixbbm} % compatibilidad semi garrapateas con ganchos o con barras


\begin{document}
    \begin{music}
        \nobarnumbers
        \setstaffs1{2}
        \setclef1\bass
        \generalsignature{-1}
        \startextract
            \notesp
            {\zql{`f}}\qu{`h} {\zql{f}}\qu{h} {\zql{f}}\qu{h} {\zw f}\isluru0i\hu{i*} \tslur0{'c}\hu{c*} \qu{`f*} \caesura
            \wh{f**} {\lql f}\qu{g} {\zql f}\qu{h} {\zhl f}\hu{i*} {\zwh f}\wh{i**}
            | 
            \qu{fff} {\lw f}\ibsluru0g\hu{g*} \tslur0h\hu{h*} \qu{f*} \caesura
            \wh{f**} {\lql f}\qu{g} {\zql f}\qu{h} {\zhl f}\hu{i*} {\zwh f}\wh{i**}
            \en\bar

            \notesp
            {\zwqq{c}}\wqq{`f****} {\zhu{i}}\hl{c*} {\zw{h}}\wh{f**}
            | 
            {\zwqq{f}}\wqq{h****} {\zhl{e}}\hu{g*} {\zw{d}}\wh{f**}
            \setdoubleBAR\en\setdoubleBAR
        \endextract
    \end{music}
\end{document}

输出如下:

output

相关内容