无法让 abc 包在 Windows 上运行

无法让 abc 包在 Windows 上运行

我正在尝试在 Latex 中排版一些音乐。我可能只需要做一次,所以相对简单的 abc 语法似乎很完美。只是我无法让它工作。

我已经安装了 abc 包。我为 pdflatex 设置了 --shell-escape 选项,并成功安装了 abcm2ps。我收到无法找到“ps2eps”的错误。我在网上找到了 ps2eps,但需要 Pearl 或 C 才能安装它,而这两者都远远超出了我的专业知识范围。

您知道如何让 abc 工作吗?我在 Windows 7 上使用 winedt,在 MikTeX 2.9 上使用。

不幸的是,此 Stackexchange 帖子没有解决问题。

以下是我想要运行的一些代码(来自https://martin-thoma.com/how-to-write-music-with-latex/):

\documentclass[a4paper]{article}
\usepackage{abc}

\begin{document}
    You can create music sheets within the abc-environment:
    \begin{abc}[name=c-dur]
        X: 1 % start of header
        K: C % scale: C major
        "Text"c2 G4 | (3FED c4 G2 |
    \end{abc}
\end{document}

感谢您的帮助!

编辑:这是 winedt 控制台给出的错误消息:(德语“Der Befehl“ps2eps”ist entweder falsch geschrieben oder konnte nicht gefunden werden。”表示命令“ps2eps”拼写错误或无法找到。我不知道为什么那部分是德语的 - winedt 和 miktex 是英文的,但我的电脑上的 windows 是德文的。)

Command Line:   pdflatex.exe --shell-escape --interaction=errorstopmode --synctex=-1 "beispiel_abc.tex" 
Startup Folder: C:\Users\wwa722\Dropbox\Hochzeit\Ablauf Kirche
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (MiKTeX 2.9 64-bit)
entering extended mode
(beispiel_abc.tex
LaTeX2e <2016/03/31> patch level 1
Babel <3.9r> and hyphenation patterns for 75 language(s) loaded.
("C:\Program Files\MiKTeX 2.9\tex\latex\base\article.cls"
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
("C:\Program Files\MiKTeX 2.9\tex\latex\base\size12.clo"))
(C:\Users\wwa722\AppData\Roaming\MiKTeX\2.9\tex\latex\abc\abc.sty
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifluatex.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\tools\verbatim.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\keyval.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphicx.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\graphics.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\graphics\trig.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg")
("C:\Program Files\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty")
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty"))))
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\ifpdf.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\mathptmx.sty")
No file beispiel_abc.aux.
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1ptm.fd")
(C:\Users\wwa722\AppData\Roaming\MiKTeX\2.9\tex\context\base\supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) ("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\pdftexcmds.sty")
("C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\epstopdf-base.sty"
("C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\grfext.sty"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\kvdefinekeys.sty"))
("C:\Program Files\MiKTeX 2.9\tex\latex\oberdiek\kvoptions.sty"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\kvsetkeys.sty"
("C:\Program Files\MiKTeX 2.9\tex\generic\oberdiek\etexcmds.sty"))))
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\ot1ztmcm.fd")
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omlztmcm.fd")
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omsztmcm.fd")
("C:\Program Files\MiKTeX 2.9\tex\latex\psnfss\omxztmcm.fd")abcm2ps-8.12.1         (August 5, 2016)
File out-abc.abc
Output written on out-abc.ps (1 page, 1 title, 24453 bytes)
Der Befehl "ps2eps" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Sorry, but epstopdf did not succeed for the following reason:

  The input file does not exist.

The log file hopefully contains the information to get MiKTeX going again:

  C:/Users/wwa722/AppData/Local/MiKTeX/2.9/miktex/log/epstopdf.log

You may want to visit the MiKTeX project page, if you need help.
abcm2ps-8.12.1 (August 5, 2016)
File jacky.abc
Output written on jacky.ps (1 page, 1 title, 24894 bytes)
Der Befehl "ps2eps" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Sorry, but epstopdf did not succeed for the following reason:

  The input file does not exist.

The log file hopefully contains the information to get MiKTeX going again:

  C:/Users/wwa722/AppData/Local/MiKTeX/2.9/miktex/log/epstopdf.log

You may want to visit the MiKTeX project page, if you need help.
 [1{C:/Users/wwa722
/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}]

Package abc Warning: You have set the `shellescape' option, but you ran
(abc)                (pdf)latex without the `-shell-escape' command line
(abc)                option. Fix it either with the `noshellescape' option
(abc)                in your document or the correct call of (pdf)latex.

(beispiel_abc.aux) ){C:/Program Files/MiKTeX     2.9/fonts/enc/dvips/fontname/8r.en
c}<C:/Program Files/MiKTeX 2.9/fonts/type1/urw/times/utmr8a.pfb>
Output written on beispiel_abc.pdf (1 page, 15252 bytes).
SyncTeX written on beispiel_abc.synctex.
Transcript written on beispiel_abc.log.


_____________________________________________________________________

 PDFLaTeX Compilation Report (Pages: 1)

 Errors: 0   Warnings: 2   Bad Boxes: 0
_____________________________________________________________________

答案1

给你。是的,PS 无法构建是你的问题。我正在使用 Ubuntu,也遇到过类似/很多问题。现在它可以正常工作了。

  • 首先,我在 Ubuntu 上安装了 abcm2ps 包。
  • 接下来,忘掉 Thoma 的那个示例文件吧。除非你想切换到其他音乐 TeX?
  • 接下来,将这两个文件复制到 abc 包 PDF 中的“示例文件”第 5 章中。链接在这里
  • 然后,我使用这两个文件:abc2.tex 和 poll.abc 运行。

    1:latex --shell-escape abc3(必须先运行这个!)

    2:pdflatex --shell-escape abc3

没有错误。ps2eps 问题怎么了?我看到了 - 在我的消息中。

[Loading MPS to PDF converter (version 2006.09.02).]

gt7@perseus:~/...../3side$
$ pdflatex abc2
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./abc2.tex
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 81 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo))
(/usr/share/texlive/texmf-dist/tex/latex/abc/abc.sty
(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))))
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty) (./abc2.aux)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ptm.fd)
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omlztmcm.fd)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omsztmcm.fd)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/omxztmcm.fd)
<out-abc.pdf, id=1, 513.92pt x 243.91125pt> <use out-abc.pdf>
<jacky.pdf, id=2, 513.92pt x 246.9225pt> <use jacky.pdf> [1{/var/lib/texmf/font
s/map/pdftex/updmap/pdftex.map} <./out-abc.pdf> <./jacky.pdf>] [2] (./abc2.aux)
 ){/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
e/texmf-dist/fonts/type1/urw/times/utmr8a.pfb>
Output written on abc2.pdf (2 pages, 39682 bytes).
Transcript written on abc2.log.

----> New Sample Input file: abc3.tex

\documentclass[a4paper,12pt]{article}
\usepackage[generate,ps2eps]{abc}
\begin{document}
\title{Example of ABC Plus in \LaTeX{}}
\author{Myself}
\date{}
\maketitle
You can create music sheets within the abc-environment:
\medskip

\begin{abc}
X:1 % comment
K:C % comment
"Text"c2 G4 | (3FED c4 G2 |
\end{abc}
\end{document}

===============

第2部分。

  • 是的,我错了。创建了这个示例文件,更接近您的第一个文件。

  • 秘密是,您需要先通过 latex 命令运行。(latex --shell-escape abc3)您还应该在完整安装 MiKTeX 的情况下拥有它。

  • 一旦它使 PS (out-abc.ps) 中的 EPS (out-abc.eps) 运行。然后您就万事大吉了。(我假设您还安装了“abcm2ps”包。我猜这是调用来制作 PS 的应用程序?)
  • 如果这不奏效。那么,你运气不好,很抱歉。(*) 获取一张包含完整 LaTeX 的 Knoppix DVD。或者找一个有 Linux 和 LTX 的朋友;这是我能推荐的全部内容。

  • 接下来。当出现 out-abc.ps 和 out-abc.eps 文件时,从“latex --shell-escape”运行。然后它将生成 EPS 输出文件。使用任何latex build-latex处理器然后就可以了。

# 这将清除 EPS 构建的文件,以测试这个讨厌的东西是否真的运行?

rm -v out-abc.eps out-abc.ps

# 您必须以这种方式运行它:第一次。一旦构建 EPS。其他一切都在 Ubuntu 上工作。

latex --shell-escape abc3

dvips -o abc3.ps abc3.dvi

ps2pdf abc3.ps

# 创建 PDF 输出的一个版本。

pdflatex --shell-escape --interaction=errorstopmode --synctex=-1 abc3

# 当我现在运行它时,(pdflatex)会创建一个第二小的 PDF 和 abc3.synctex 输出文件。

  • 将 abc3 替换为 beispiel_abc,以完成您的工作。

这就是我所得到的一切,伙计

答案2

以下是您需要执行的操作的摘要,适用于所有其他想要在 Windows 中使用 abc 的非专家。(该方法来自上面的 Todd,我只是对其进行了总结,并包括了我所有子问题的答案)

  1. 下载 abcm2ps。将 abcm2ps.exe 放在与 .tex 文件相同的文件夹中。
  2. 使用下面的示例输入文件(由 Todd 编写,请参阅上面的答案)。将其命名为 abc3.tex
  3. 现在您需要在 Windows 中打开命令提示符。在 WinEdt 中调整 latex 等不起作用。您可以使用 Windows+X 打开命令提示符并选择“命令提示符”
  4. 将目录更改为包含 .tex 文件的目录。(输入“cd C:\Users...”并按回车键)
  5. 从命令提示符运行“latex --shell-escape abc3”
  6. 从命令提示符运行“abcm2ps -E -O out-abc out-abc”
  7. 将 out-abc001.eps 重命名为 out-abc.eps
  8. 运行“latex --shell-escape abc3”
  9. 运行“dvips -o abc3.ps abc3.dvi”
  10. 运行“ps2pdf abc3.ps”
  11. 运行“pdflatex --shell-escape --interaction=errorstopmode --synctex=-1 abc3”

现在您有了漂亮的 abc3.pdf。在 WinEdt 中重新运行它对我来说不起作用。

\documentclass[a4paper,12pt]{article}
\usepackage[generate,ps2eps]{abc}
\begin{document}
\title{Example of ABC Plus in \LaTeX{}}
\author{Myself}
\date{}
\maketitle
You can create music sheets within the abc-environment:
\medskip

\begin{abc}
X:1 % comment
K:C % comment
"Text"c2 G4 | (3FED c4 G2 |
\end{abc}
\end{document}

答案3

有点晚了,但我已经在 LaTeX 中完成了这项工作(我使用的是 TeXstudio),而不必使用命令提示符,上面给出的说明是我在网上能找到的最好的说明(没有它们,我不可能解决这个问题),我想提供我的解决方案,以防其他人觉得有用。如有必要,请随意编辑,特别是如果我没有遵守任何惯例。

问题

(1)shell逃逸问题

    Package abc Warning: You have set the `shellescape' option, but you ran (pdf)latex 
    without the `-shell-escape' command line option. Fix it either with the 
    `noshellescape' option in your document or the correct call of (pdf)latex

(事实上​​,只要您执行了 -shell-escape 或 -enable-write18 步骤,这个错误实际上是错误的,并且是其他问题之一的产物。)

(2)abcm2ps 问题

    'abcm2ps' is not recognized as an internal or external command, operable program or batch file

(通过向‘abcm2ps.exe’添加 PATH 可以解决这个问题。请参阅下面的说明。)

(3)ps2eps问题

    'ps2eps' is not recognized as an internal or external command, operable program or batch file

(可以通过向“bbox.exe”添加 PATH、添加扩展名“.pl”、将“ps2eps”的扩展名更改为“ps2eps.pl”以及向“ps2eps.pl”添加 PATH 来解决此问题。请参阅下面的说明。)

(4)gswin32c问题

    'gswin32c' is not recognized as an internal or external command, operable program or batch file

(这个问题可能直到问题 (2) 和 (3) 解决后才会显现出来。通过将“gswin64c”重命名为“gswin32c”,并将 PATH 添加到“gswin32c.exe”即可解决此问题。请参阅下面的说明。)

解决方案

(1)下载

(1.1)下载abcm2ps:https://github.com/leesavide/abcm2ps/。这不需要安装。将其放在可以存放的文件夹中。

(1.2)下载并安装Perl:https://www.perl.org/get.html

(1.3)下载ps2eps:https://ctan.org/tex-archive/support/ps2eps。这不需要安装。将其放在可以存放的文件夹中。

(1.4)下载并安装Ghostscript:https://www.ghostscript.com/download.html

(2)延期

(2.1) 导航到“环境变量”:设置 > 关于 > 系统信息 > 高级系统设置 > 环境变量。单击“系统变量”中的“PATHEXT”,然后单击“编辑”。在“编辑系统变量”窗口中,将“.PL;”添加到“变量值”列表末尾。确保没有添加任何空格。

(2.2)找到“ps2eps”文件,并将其扩展名(我只是通过更改文件名来实现)更改为“ps2eps.pl”。

(2.3)查找“gswin32c.exe”文件。如果存在,请忽略此步骤。如果不存在,请找到“gswin64c.exe”文件,复制并粘贴,然后将新文件重命名为“gswin32c.exe”。

(3)路径

(3.1)导航到“环境变量”:设置 > 关于 > 系统信息 > 高级系统设置 > 环境变量。单击“系统变量”中的“路径”,然后单击“编辑”。

(3.2)在“编辑环境变量”窗口中,单击“新建”,然后单击“浏览”。找到包含“abcm2ps.exe”的文件夹并将其添加到此列表中。

(3.3)对‘ps2eps.pl’重复(3.2)。

(3.4)对‘bbox.exe’(位于 ps2eps\bin\win32 中)重复(3.2)。

(3.5)对‘gswin32c’重复(3.2)。

(4)乳胶

注意:我使用 TeXstudio 并使用 PdfLaTeX 进行编译,因此说明也适用于此。但要弄清楚针对不同配置需要对以下说明进行哪些调整应该不太难。

(4.1)在选项 > 配置 TeXstudio > 命令中,PdfLaTeX 的命令当前可能是:

    pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex

更改为:

    pdflatex.exe -synctex=1 -interaction=nonstopmode -enable-write18 %.tex

如果这不起作用,请尝试:

    pdflatex.exe -synctex=1 -interaction=nonstopmode -shell-escape %.tex

注意:有些人对这样做的安全性表示担忧,因此请查阅。

(4.2)先用 LaTeX 编译文档。

(4.3)用PdfLaTeX编译文档。

现在它可以工作了。

相关内容