Bug Tracker
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
Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=129