tectonic icon indicating copy to clipboard operation
tectonic copied to clipboard

bibtex min crossrefs

Open andronat opened this issue 7 years ago • 10 comments
trafficstars

I've been heavily relying in the -min-crossrefs=1000 flag of bibtex? How can I pass this flag to tectonic? I can't find a way.

andronat avatar May 01 '18 01:05 andronat

The version of bibtex included in Tectonic does support this feature internally, but we don't currently have any way for the user to change the setting. I'm not familiar with its purpose — can you please explain to me why you sometimes use this option? Thanks.

pkgw avatar May 07 '18 13:05 pkgw

Sorry for the late response! We use the flag in my research group extensively as we have a huge database of references and cross-references to make the setup as modular as possible. Due to the nature of our architecture we use -min-crossrefs to produce "flat" references instead of cross-references. You can see an example here. Do you think you can allows access to this flag in the next version? It's a deal breaker for me right now :(

andronat avatar May 12 '18 00:05 andronat

ping. any news about this?

andronat avatar Jun 30 '18 19:06 andronat

I'm afraid not:

Part of the reason is that this particular feature request ties in to a bigger architectural design question that I've been struggling with. I see the need to control parameters like these, but I don't want the tectonic CLI program to gain a ridiculous number of command line arguments. Instead I tend to think that it should act more like the Rust cargo tool, where the build settings are stored in a file named something like Tectonic.toml and all the user needs to do is run something like tectonic build.

That change would totally break the command line experience, and I think it would do so in a way that would be very annoying to users. On the other hand, I think it's the right thing to do, and if that's the case, the earlier it's done, the better.

Anyway, the basic "problem" is that I'm not sure how to add a UI knob to control this option in a way that will be good for the project long-term. Here are two ideas:

  1. If you can compile Tectonic yourself, I believe it is literally a one-line patch to change the default value of this setting. If you need it to stay at zero for other uses, you could have a special copy of the executable named something like tectonic_mcr1k used for the relevant documents.
  2. Oh! I just thought of this: I could add a flag along the lines of the -Z family used by the Rust toolchain. These activate special experimental features. In Rust, they are only allowed on "nightly" compilers, not the "stable" ones, so people don't accidentally start using them until they're formally blessed. Tectonic doesn't have the infrastructure to go that far, but it could at least emit a big warning that your flag might do bad things or go away in the future.

I like this -Z flag idea. You would get your feature sooner rather than later, at the cost that this feature would be considered "unstable" and so liable to change or go away without much warning in the future. How does that sound?

pkgw avatar Jul 03 '18 13:07 pkgw

Sure! Thanks a lot! May I ask though (and please forgive me total ignorance for the internals and the philosophy you want to follow):

  • why not support a global config file like: ~/.tectonic.conf (please use XDG if you go that way)?
  • or why not giving a general flag like --json-config="<my-json-config>" so I can wrap the tool with a bash alias?

andronat avatar Jul 03 '18 23:07 andronat

ping

andronat avatar Sep 02 '18 11:09 andronat

I appreciate your patience and persistence on this. I've been hung up trying to get Windows support working, since someone contributed a PR getting Tectonic most of the way there ... but this is still on the radar!

pkgw avatar Sep 05 '18 12:09 pkgw

#657 introduces the -Z min-crossrefs=<num> flag to change this e.g. -Z min-crossrefs=1000 to set it to 1000.

ralismark avatar Oct 21 '20 13:10 ralismark

The new support is released in version 0.2.0, by the way. Sorry that it took, uh, two and half years to deliver this pretty straightforward feature ... and thank you to @ralismark for finally making it happen!

pkgw avatar Oct 21 '20 13:10 pkgw

Hey @andronat, there's also the possibility of changing that directly in the package, like:

\usepackage[mincrossrefs=1000]{biblatex}

The issue seems fixed with the new -Z min-crossrefs option above. Are you ok with us closing it?

Neved4 avatar Oct 21 '21 11:10 Neved4

ping @andronat

Neved4 avatar Oct 05 '22 10:10 Neved4

Thanks!

andronat avatar Oct 05 '22 12:10 andronat

@andronat I'm curious: are any of the above mentioned options workable solutions for your research group use case?

Neved4 avatar Oct 05 '22 14:10 Neved4

both actually worked! I mainly use the -Z for compatibility with my other colleagues that use other compilers.

andronat avatar Oct 06 '22 15:10 andronat

Awesome thx! 🚀

Neved4 avatar Oct 06 '22 16:10 Neved4

Thanks for following up @mnrvwl and confirming @andronat!

pkgw avatar Oct 21 '22 03:10 pkgw