Bug Tracker RSS feed

I’m currently working on a major new version of the datatool package. This may take a while. Please be patient. (Experimental version available for testing.)

ID 129🔗
Date: 2019-05-20 12:22:23
Status Closed (Fixed)
Category makeglossaries-lite (Lua)
Version 4.41
Summary makeglossaries-lite fails to call makeindex because of spurious quotation marks.
OS Windows 10

Sign in to subscribe to notifications about this report.

Description

When calling makeglossaries-lite on a file using Option 2 (makeindex), e.g. minimalgls.tex, the compilation fails with the following error message:
makeglossaries.lua version 4.41 (2018-07-23)
Parsing 'minimalgls.aux'
Found glossary type 'main' (glg,gls,glo)
Found glossary type 'acronym' (alg,acr,acn)
'makeindex" -t "minimalgls.glg" -o "minimalgls.gls" -s "minimalgls.ist" "minimalgls.glo' is not recognized as an internal or external command,
operable program or batch file.
'makeindex" -t "minimalgls.alg" -o "minimalgls.acr" -s "minimalgls.ist" "minimalgls.acn' is not recognized as an internal or external command,
operable program or batch file.
This is due to the spurious quotation marks around makeindex.

MWE

Download (2.57K)

 % This file is public domain.
 %
 % This is a minimal file for testing and debugging
 % the glossaries package. Change the class file as
 % desired, and add the relevant package options to
 % both the class file and the glossaries package.
 % Change the sample glossary entry and acronym if
 % required. If the problem occurs with an additional
 % glossary, add in the relevant \newglossary command
 % and a sample entry.
 %
 % Only add extra packages or commands if they
 % contribute to whatever problem you are trying to
 % test.
 %
 % Remember that the document will not be complete
 % until you have successfully completed all of the
 % following steps:
 % 1. latex minimalgls
 % 2. makeglossaries minimalgls (note no extension)
 % 3. latex minimalgls
 % A further run through LaTeX will be required to ensure that
 % the table of contents is up to date if the toc option
 % is used.
 % Alternatively, if you use arara, you can add the following
 % directives in your document:
 %
 % arara: pdflatex: { synctex: on }
 % arara: makeglossaries
 % arara: pdflatex: { synctex: on }

 % If you require multilingual support you must also install
 % the appropriate glossaries language module. The language
 % modules are distributed separately.

\documentclass{article}
\listfiles

\usepackage[colorlinks]{hyperref}
 %\usepackage{glossaries} % abbreviation will go in main glossary
 \usepackage[acronym]{glossaries} % make a separate list of acronyms

\makeglossaries

\longnewglossaryentry{par}{name={par}}%
{%
  A long description with a paragraph break.

  This is the next paragraph.
}

\newglossaryentry{sample}{name={sample},
description={a sample entry}}

 % set the acronym style:
\setacronymstyle{long-short}

 % This contrived acronym has non-standard plural forms.
 % These are specified in the optional argument.
 % Remove the optional argument to revert to the default
 % plurals.
\newacronym[\glsshortpluralkey=cas,\glslongpluralkey=contrived
acronyms]{aca}{aca}{a contrived acronym}

 % Keep all definitions in the preamble!

\begin{document}

A \gls{sample} entry and \gls{aca}. Second use: \gls{aca}.

Plurals: \glspl{sample}. Reset acronym\glsreset{aca}.
First use: \glspl{aca}. Second use: \glspl{aca}.

\glsresetall
First letter upper case: \Gls{sample}. First use: \Gls{aca}.
Subsequent use: \Gls{aca}.
\glsresetall
Plurals: \Glspl{sample}. First use: \Glspl{aca}. Next: \Glspl{aca}.

If you want paragraph breaks in the description use
\verb|\longnewglossaryentry|, as with entry \gls{par}.

Title case a particular field:
\glslink{sample}{\glsentrytitlecase{sample}{desc}}.

\printglossaries
\end{document}

Evaluation

This may be this issue using quoted arguments on os.execute() on Window reported on the Lua mailing list.

The system call is essentially:

os.execute('"makeindex" -t "minimalgls.glg" -o "minimalgls.gls" -s "minimalgls.ist" "minimalgls.glo"')
(and similarly for the acronym list). The double-quotes are there in case any of the filenames contain spaces but the follow-up message to the above linked Lua issue indicates that old versions of the Windows command prompt will strip the leading and final double-quotes if the string passed to os.execute starts with a double-quote (which it does in this case) and will treat the entire content that was between those quotes as the system command to execute.

To reduce the chances of this happening, as from v4.47 makeglossaries-lite will only add double-quotes if the filename (or path to makeindex/xindy) contains any spaces. Since makeindex and xindy are both on the system path there’s no reason to quote them unless an alternative path that does contain spaces is requested.

Issue now closed although I don't have any way of testing it.

Comments

0 comments.


Add Comment

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:


You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.

Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=129