Replies: 10 comments 18 replies
|
This seems like it would be up to the Journal publishers, not Typst. Given the pressure for years to improve their submission workflows I doubt this will be easy. I suspect only a large amount of pressure from authors will sway the needle. |
|
I don't think journals will accept Typst submissions before it has reached stability and is reasonably feature-complete. Additionally, I don't think it is wise to push for Typst support before that point, else they will just get tired and trust will be more difficult to build up. |
|
Most journals don't even accept manuscripts requiring LuaTeX instead of pdfTeX, so I don't imagine it'll happen quickly. It would at least be a few years after typst reaches a stable state. Academic publishing moves slowly. |
|
A practical way may be to convert the Typst file to a LaTeX file and submit that LaTeX file. |
|
We (iacr.org) recently launched a new journal using a custom LaTeX class that we designed as well as a python compilation system that processes metadata. Authors upload a zip file of LaTeX to our server and it compiles in the cloud to produce the PDF. This allows us to do things like insert the DOI and crossmark link into the PDF, but it also allows us to extract all of the metadata from the author's document in order to automatically register the DOI and produce the HTML page that hosts the PDF. We also have a latex log parser and bibtex log parser that automatically flags things for the copy editor (like a missing DOI in a reference). The system is available as open source but isn't really ready for other journals to use it yet. Our system is designed to make sure that no copy editor has to touch the author LaTeX - we simply tell the author to fix things. While LaTeX is completely dominant in mathematics and computer science, there is always the possibility that authors would want to use another format like Microsoft Word, PreTeXt, ConTeXt, or Typst. In order for us to do this, we have two requirements:
Unfortunately when I looked at Typst, it appears that it would be difficult to accomplish what we want. LaTeX encourages authors to write logical structure using semantic commands like The way we solve the problem of capturing metadata from the LaTeX is to have it write to a file that is post-processed by python. Apparently that is not possible in Typst, and the developers seem to be against allowing it. As an alternative, we could have the python parse the Typst file to extract what we want, but a parser for Typst is almost as problematic as a parser for LaTeX. The I get the sense that the Typst community does not understand publishing workflows very much. That's not surprising, and the same can be said for LaTeX authors. Maybe someone should first write a Typst plugin for OJS. |
|
I now have a clearer understanding of why there is not much progress toward having journals accept typst. At some point we may return to this question if an author asks for it and is willing to develop the template in a way that is faithful to the style of the journal. |
|
@kmccurley Firstly, I must complement you on the detail you have taken describing your open source journal workflow system. However, I strongly suggest, Typst has been designed for exactly your type of workflow. To fully understand Typst you need to realise that it is two systems. Firstly it is the typesetting engine Typst as an online collaboration system must be first and foremost secure against random authors attempting to break the system. In your description, you point out that compiling LaTeX from unknown authors is a security risk. To quote from the Checkoway, Shacham and Rescorla article which you reference:
This is precisely what Typst (as a typesetting engine) forbids in order to support the security of Typst (as an online collaboration tool). However, Typst (as a typesetting engine) does allow nearly arbitrary metadata to be exported from any typst document. To do this you use the While there will always (briefly) be security attacks against JSON (or YAML) as parsed by a specific system programming tool (such as Python), these attack windows will probably only be brief before they are noticed and corrected. This does not mean that you could/should stop using docker (or better rootless podman) containers to typeset your documents. But by working with Typst's query system, you are seriously reducing your (known) security risks. Now Typst as a nearly instantaneous collaboration system, makes one further requirement on Typst as a typesetting engine. To be nearly instantaneous, typst is a Pure Functional language (such as Haskell). This means that when you compute your metadata from an author's document, you must do so inside a Typst "Context", since your metadata is essentially a "side-effect" of the document and not part of the result. I am at the moment trying to provide a Gerby like tool in which to write out some complex mathematical arguments in mathematical physics. As such I have had to sketch, in the following typst code, collection of my required metadata from my collection of typst documents. My currently very crude code to do this in a Typst template file, is: #let lpitDocument(
docId,
shortTitle: [],
longTitle: []
) = {
context {
let theData = (:)
let headingData = ()
for aHeading in query(heading) {
let loc = aHeading.location()
let aPageNum = loc.page()
headingData.push(("theHeading": aHeading, "thePage": aPageNum))
theData.headings = headingData
theData.docId = docId
theData.shortTitle = shortTitle
theData.longTitle = longTitle
theData.abstract = query(<abstract>)
theData.inputs = sys.inputs
}
[ #metadata(theData) <lpitMetaData> ]
}
[ #longTitle #label("title") ]
}Which would be collected using the command line (in a python formatted string): f"typst query {docFileName} \"<lpitMetaData>\""The result of this command line would be to obtain a JSON formatted string on the command's standard out. Note the "<lpitMetaData>" in the command line is a query for the reference To use this, an author (me), would place the following lines at the top of their document: #import "@local/lpit-publisher-papers:0.1.0" : *
#lpitDocument("fp-diag",
shortTitle: [ Finger Pieces : Diagrams ],
longTitle: [ Finger Pieces : A miscellanea of diagrams ])
Of course your system's Typst template would be slightly different and collect different data. I hope that, as the typst typesetting engine matures, you and other journal systems architects will take a longer and more careful look at Typst. (I have used LaTeX for many decades, but I see Typst as a very solid future for mathematical typesetting). |
|
@kmccurley, In this my second reply to your comments, I would like to
In a typst based workflow you would probably similarly limit the included However, I suspect you are equally worried about how to disable authors From the point of view of a systems architect of a journal's automated So as a question to the greater Typst community, how could such |
|
My previous comment about understanding the problems came about as a result of reading a lot and trying it out. I started going through the list of issues and found about 5 show-stoppers for us like this and this and this before I stopped reading. I didn't want to expand this into a list of "must-haves" for a journal to accept it. That list might vary from one discipline to another and from one publisher to another. It also appears that github discussions for typst are being moved to a discourse server anyway. The typst team has accomplished a lot, but they already have a lot on their plate. I'll let them establish their own priorities. We are only one tiny publisher, for a society of only 3000 members. We don't really have the resources to devote to this, and frankly I think we have bigger problems to solve in our publishing pipeline and nobody has asked for typst yet. The academic publishing world is mostly controlled by five or six big commercial publishers (e.g., Springer/Nature, Elsevier, Taylor and Francis, Sage, etc). The large professional societies also run their own publishing branches but some of that is outsourced (e.g., ACM, AMS, IEEE, etc). IACR also outsources most publishing to Springer, and we have done that since the 80s. Most publishers offer almost no visibility into how their workflows work, but I think that LaTeX is much more common than people realize in STEM publishing pipelines. It's what authors write in, and publishers are pretty much saddled with it as their input format. In disciplines outside of STEM, the standard document format is Microsoft Word (OOXML under the covers). If you think LaTeX is bad, you should try reading the 5000 page definition of that format. Most of the large commercial publishers use large amounts of human labor to transform the author-supplied LaTeX (or OOXML) into another format such as JATS, which can then easily be used to generate PDF or HTML or ePub or whatever. They might use a rough tool like pandoc to get them started, but then they tune it manually to accomplish their typesetting goals. That can be justified when a publisher like Springer charges $3000-6000 to publish an article as open access (ACM is currently charging $1300-1800). Academic publishing is currently under intense pressure from open access mandates, so the economic apple cart that justifies human effort to convert documents may not survive. We set a goal of establishing a "no-touch" low-cost publishing workflow where we take the author's input and produce the final output automatically. In the process we had to give up a few things like full HTML output (arXiv now has an experimental system that generates HTML from LaTeX, but it fails the "no-touch" requirement). We parse the LaTeX and BibTeX log output to help in the copy editing process. I think I can see a way that we would accomplish pretty much the same thing with typst. The issues with the typst format may eventually get ironed out, and that's for the typst community to work out. Academic STEM publishing may not even end up being that important for the typst ecosystem. It might be useful to have a "publishing" label on issues so that you can accumulate more information on what publishers will want. I mentioned the possibility of providing a plugin for OJS, and I think that's a potentially good project for someone who can tolerate PHP. OJS is used for the "long tail" of publishing (not the big publishers). I think at least 20,000 journals use it. The vast majority of those are the humanities and social sciences though, and they expect authors to upload Microsoft Word because that is what authors use. OJS has only minimal support for copy editing, and I think this is one pain point for them. They are currently looking at more features to support JATS translation, and a typst => JATS converter might be interesting. At present JATS supports only TeX and MATHML formats for inline and display mathematics, so a typst => JATS converter would have to deal with that. Moreover, I would caution against cutting too many corners in this - we already have approximate translation tools like pandoc for a lossy conversion from one format to another. OJS is also struggling with their technical debt. It took them 3.5 years to add the capability to store multiple affiliations per author. Academic publishing is a huge can of worms, and the difficulty of making headway there should not be underestimated. LaTeX is thoroughly entrenched and while it has many detractors, learning LaTeX is generally regarded as one of those necessary steps in becoming a successful academic in STEM. Most people can learn the basics in an afternoon and the support ecosystem is gigantic. As a programming language it is definitely showing its age, but the vast majority of authors should not be writing new LaTeX macros. |
|
I will never understand certain scientists' fixation on submitting a manuscript as source code and relying on journals to publish it as a PDF. Just send the freaking PDF and that's it. This feels like a first-world problem. Or am I missing something? |
Uh oh!
There was an error while loading. Please reload this page.
I believe that the number of users of
typstwill increase significantly, when it becomes available in the submission systems of journal publishers (such as Elsevier). So, is typst official or some other organisation pushing for this now? How much further is there to go?All reactions