tectonic icon indicating copy to clipboard operation
tectonic copied to clipboard

Tectonic does not handle packages requiring makeindex to be run

Open jaesharp opened this issue 8 years ago • 13 comments
trafficstars

Calls to \makeindex and \printindexfrom the package index do not result in the execution of makeindex and the rerunning of TeX.

This results in:

  • indices not being build or included
  • .idx files being created in the document directory even when --keep-intermediates is not specified.

Tectonic should support packages providing index functionality (such as index) which require makeindex to be called and TeX to be rerun to incorporate the generated files.

Current workaround is to run tectonic, makeindex as needed, and then run tectonic again, then delete intermediates.

jaesharp avatar Jul 06 '17 01:07 jaesharp

This is entirely correct! makeindex appears to be written in C so we should be able to embed it in the Tectonic executable just like bibtex.

pkgw avatar Jul 06 '17 01:07 pkgw

@pkgw Thank you for validating this. I've looked into what was required to integrate bibtex and unfortunately at the moment I don't have the spare bandwidth to pick up the language/infrastructure and contribute a PR. I ran into this issue when building documents using the tufte-* classes (which depend on index functionality) and thought I'd document the issue and a workaround until it can be addressed.

jaesharp avatar Jul 06 '17 02:07 jaesharp

@justinlynn No worries, adding makeindex shouldn't be too hard but it would definitely be a nontrivial task. We're all bandwidth-starved so I can't say when someone will get to this, but thanks for getting it on the radar!

pkgw avatar Jul 06 '17 02:07 pkgw

If I may use this thread, what are the implications for having other executables needed to invoked in the workflow? For example, if use glossaries-extra with external glossary (in bib files) will tectonic run bib2gls for me?

ghost avatar Feb 26 '18 14:02 ghost

Hello, any news on this? I was unable to print a glossary :/

ps: thanks you a lot for this great tool!

polc avatar Mar 28 '18 18:03 polc

@polc You mean you couldn't use the workaround of running makeindex (semi-)manually?

PHPirates avatar Mar 28 '18 19:03 PHPirates

One problem with running makeindex (or texindy in my case) manually is that the input for the indexes (.idx) is expected to be in the output directory but tectonic expects the resulting ind files to be in the source directory.

inferiorhumanorgans avatar Dec 26 '19 00:12 inferiorhumanorgans

Just checking in on glossaries-extra support with tectonic

SamuelMarks avatar Jun 24 '21 06:06 SamuelMarks

@SamuelMarks No work specifically towards that goal, but the recently added support for biber and shell-escape has laid the groundwork for us to provide better support for external tools in the future. I'm not familiar with the support tools in this area, but if there's a way to detect from the first-pass files that a specific tool needs to be run, changes along the lines of #794 can wire them into the processing pipeline.

pkgw avatar Jun 28 '21 19:06 pkgw

any news on this?

Edit: the workaround doesn't work as well since there ist no idx file being generated.

darman96 avatar Apr 11 '22 13:04 darman96

No news, I'm afraid. If there's anyone willing to try implementing makeindex or bib2gls support themselves, I will do my best to assist them, but I'm afraid I don't have the bandwidth to work on it myself for the foreseeable future.

pkgw avatar Apr 13 '22 02:04 pkgw

I just want to mention that if you have makeindex in your path (for example, if you have a TeX distribution on your system), you can run tectonic with -Z shell-escape and it should work.

kpym avatar Jul 09 '23 12:07 kpym

I can't make idx file to be created, even if I specify "shell_escape" to true in Tectonic.toml and enabling both --keep-logs and -k. Is this expected? This means I can't create the index (even manually), preventing me to use Tectonic if I need an index.

Zeta611 avatar Oct 17 '23 11:10 Zeta611