Texmaker 和 MacTex 无法编制索引、术语和 Biber

Texmaker 和 MacTex 无法编制索引、术语和 Biber

在装有 MacTex(最新版)的 Mac(Maverick)上,我可以使用 Texshop 的引擎(B)编译以下(A)MWE,但无法使用 Texmaker 的(C)自定义命令。我搜索了两天,没有找到解决方案:

(A)MWE.tex 用于设置 Biber、索引和命名法(使用 Makeindex)

\listfiles

\documentclass{article}

\usepackage[authordate,backend=biber]{biblatex-chicago}
\usepackage{makeidx}
\usepackage{robustindex}
\makeindex
\usepackage{nomencl}
\makenomenclature

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\printnomenclature

\nomenclature{Alpha}{alpha test}%

Here is \index{some} text \autocite{A01}.

\printbibliography

\printindex

\end{document}  

(B)Texshop 的功能引擎:

#!/bin/bash
pdflatex -synctex=1 "$1"
for file in *.idx ; do
makeindex -s *.ist $file
done
for file in *.bcf ; do
biber $file
done
pdflatex -synctex=1 "$1"
for file in *.nlo ; do
bfname=$(dirname "$1")/"`basename "$1" .tex`"
makeindex "$bfname".nlo -s nomencl.ist -o "$bfname".nls
done
pdflatex -synctex=1 "$1"

(C)Texmaker 的命令不起作用(注意:my_index_style.ist 与 mwe.tex 位于工作目录中)

"/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode|"/usr/texbin/biber" %|"/usr/texbin/makeindex" %.idx -s my_index_style.ist|"/usr/texbin/makeindex" %.nlo -s nomencl.ist -o %.nls|"/usr/texbin/pdflatex"  -synctex=1 -interaction=nonstopmode|"/usr/texbin/pdflatex"  -synctex=1 -interaction=nonstopmode|open %.pdf

结果是

Input index file MWE.idx not found. Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]

Process exited with error(s)

(D)当然,我尝试在 Texmaker 中单独运行命令:

  1. "/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode %.tex作品

a."/usr/texbin/biber" %似乎 100 次中有 99 次它都会冻结 Texmaker(看到一个带有两个白色和两个黑色四分之一圆的圆圈?!),所以我需要killall texmaker

b."/usr/texbin/makeindex" %.idx -s index_style_wenger.ist进程正常退出(第一次运行 pdflatex 后) c."/usr/texbin/makeindex" %.nlo -s nomencl.ist -o %.nls进程正常退出(第一次运行 pdflatex 后)

有人能帮忙吗?我想使用 Texmaker,因为它有更好的功能来处理大型多文件项目。

更新:正如下面的评论所建议的,我尝试过:

"/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode && “/usr/texbin/biber" % && “/usr/texbin/makeindex" %.idx -s index_style_wenger.ist && “/usr/texbin/makeindex" %.nlo -s nomencl.ist -o %.nls && “/usr/texbin/pdflatex"  -synctex=1 -interaction=nonstopmode| && “/usr/texbin/pdflatex" -synctex=1 -interaction=nonstopmode && open %.pdf

导致

Process started

This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support). Scanning style file ./index_style_wenger.ist.....

.....done (10 attributes redefined, 2 ignored). Scanning input file MWE.idx....done (1 entries accepted, 0 rejected). Sorting entries...done (0 comparisons). Generating output file MWE.ind....done (6 lines written, 0 warnings). Output written in MWE.ind. Transcript written in MWE.ilg.

Process exited normally

但最终参考书目和索引都可以,但没有显示命名法。

答案1

这不是一个直接的答案,而是一种与您的方法相当且更易于管理的方法。

添加 Texmaker 用户命令

arara -v %.tex

并在文档中添加前缀

% arara: pdflatex
% arara: makeindex: { style: index_style_wenger.ist }
% arara: nomencl
% arara: biber
% arara: pdflatex
% arara: pdflatex: { synctex: yes }

\documentclass{article}

运行arara而不是pdflatex将执行与您尝试传递给单个工具的命令序列完全相同的命令序列。

您的优点是,为了不运行所有这些命令,您只需禁用一个或多个命令,这是通过在!前导 后添加 来获得的%

这需要 Java,如果您尚未安装它,系统将提示您安装。

相关内容