Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: implement journal publisher variable #2425

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

oscarlevin
Copy link
Member

Once you feel caught up on other PRs, I'd appreciate your feedback on this, @rbeezer.

There will be a many-one mapping from journals to latex-style options. Example: the Bulletin of the AMS will use latex-style="amsart", but will need to change the documentclass . The "publisher" will be able to set publication/common/journal/@name="bull-amer-math-soc" and everything should be set for them.

So far, this PR has the following:

  • New publisher variable "journal-name"
  • Pretext script for latex gets this name, checks it against a "database" of journals (in journals/journals.xml) and sets the latex-style accordingly.
  • Start of updates to documentation and publication schema.

Still needed:

  • script that will transform the journals/journals.xml file into a pretext table that can be xi:included in the documentation.
  • Decide how to represent additional information about a journal that will be needed for the conversion, including separate documentclass, additional .sty or .cls files that might need to be downloaded, etc.
  • XSL and python code that utilizes that additional information.

@oscarlevin oscarlevin marked this pull request as draft February 25, 2025 21:46
@rbeezer
Copy link
Collaborator

rbeezer commented Feb 25, 2025

I'll give it a survey once I merge the recent related PR.

In the meantime, I have an idea about how to handle the fact that different bits of information will appear in different orders in different journals. Think Citation Stylesheet Language as a model. Best discussed at a Drop-In.

@oscarlevin
Copy link
Member Author

The more I think about it, the more I'm liking the idea of using a CSL-like structure for describing the LaTeX markup for different journals. A few questions while I'm thinking about then, which we could discuss at a later time.

  1. Am I right that the idea would be to use the document() function to read in the journal xml file, and then read parts of it to make decisions about layout? Or perhaps apply templates templates to the nodes in document("../journals/journal-name.xml") and apply templates from the main source inside those templates? Something like that? Can the argument of document() be stored in a variable?
  2. Some of this depends on how bibliographies are going to work. Specifically, we should figure out how fine-grained we will be with selecting a journal. Right now, I think there will be a *-general for each major publisher, that works with lots of journals that will basically be the same (although you might need to specify the actual journal name in the tex somewhere). Do we end up with lots of journal-name.xml files that are identical except for the name? Should we have a single giant xml file with all the journals that provide all the relevant details? I was thinking that the journals.xml database file would also reference the correct information to build bibliographies.
  3. It would be nice if there was a template or enough well-documented examples of these files for contributors to base new journals specifications off of. Do you have thoughts about where in the repository all these files should go?

That's it for now. I'll keep thinking and we can discuss next time.

@oscarlevin oscarlevin marked this pull request as ready for review March 5, 2025 21:38
@oscarlevin
Copy link
Member Author

I've split this up, rebased it on master, and added some xsl to transform the xml file of journal names into a pretext table that is included in the guide.

As far as I'm concerned, this is ready to go, as a step along the way to getting more journal-specific information into the latex-classic stylesheet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants