<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Dear Jonathan,<div><br></div><div>I listened to your talk yesterday at Packaging-con and I found it riveting. Is there any proof of concept of PTD yet?</div><div><br></div><div>In my own experience, the reproducible aspect of PTD is nicely solved by Docker. I can accompany my document with the instruction that it should be compiled using the following command:</div><div><br></div><div>    <font face="monospace">$ docker run --rm -v "$PWD"/workdir:/workdir -w /workdir texlive/texlive:b0841883623e latexmk -pdf document.tex</font></div><div><br></div><div>This will reproducibly compile the file <font face="monospace">workdir/document.tex</font> by ensuring that any files outside <font face="monospace">workdir/</font> will be filled in from the immutable <a href="https://hub.docker.com/layers/texlive/texlive/latest/images/sha256-b0841883623ed059c46f94baf6b49eb9fdffc764e15fc8bd5cb5346ea02724c6?context=explore">Docker image of TeX Live with digest b0841883623e</a>. Admittedly, this requires a 2G download. However, it is something that works today, which I think has its value.</div><div><br></div><div>What you may also find useful is the Perl LaTeXMk tool that Overleaf uses for the automatic compilation of documents. To know if any source files have changed since the last compilation, LaTeXMk keeps a text database of all dependencies by the inspection of LOG files. For example, if I run the command <font face="monospace">latexmk -pdf source2e.tex</font><font face="arial, sans-serif">, the attached file </font><font face="monospace">sample2e.fdb_latexmk</font><font face="arial, sans-serif"> will be created and will contain a complete list of dependencies together with last modified timestamps, file sizes, and hashes. Given a backing store that can fetch these files, this text database seems almost sufficient as a recipe for reproducibly recompiling the TeX document.</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">Best,</font></div><div><font face="arial, sans-serif">Vítek Novotný</font></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">st 22. 9. 2021 v 22:38 odesílatel Jonathan Fine <<a href="mailto:jfine2358@gmail.com">jfine2358@gmail.com</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi</div><div><br></div>I am a sucker. My talk proposal for <a href="https://packaging-con.org/" target="_blank">https://packaging-con.org/</a> has been accepted. I'm a bit flattered as I'm new to packaging, and they accepted 67 out of 95 full talk proposals. The conference itself is Tuesday 9 and Wednesday 10 November.<div><br></div><div>I now have to write and deliver a talk. It would also be good to have at least one working example that people can play with.</div><div><br></div><div>I hope some of you will help me with this, or at least answer some of my questions. The rest of this message is the ACCEPTED proposal. I'll keep you posted, particularly of other talks that might be relevant to our community.</div><div><br></div><div>The <a href="https://packaging-con.org/" target="_blank">https://packaging-con.org/</a> conference fee is quite modest (unless your employer is paying). By the way, the conference is organized in partnership with NumFOCUS, who've been sponsoring MathJax since 2019. The already there's another TeX connection.</div><div><a href="https://numfocus.org/project/mathjax" target="_blank">https://numfocus.org/project/mathjax</a><br></div><div><br></div><div>Happy TeXing</div><div><br></div><div>Jonathan</div><div><br></div><div>Title: Tools for packaging and using Portable TeX Documents<br></div><div><br></div><div>Abstract:</div><div>Both software and documents have dependencies. This talk focuses on managing document dependencies, to reduce both network and computation latency, and to ensure reproducible build (or typesetting) behaviour. Web development has a strong focus on reducing user experienced latency, as does serverless cloud computing.<br><br>At present human activity and large downloads are required to achieve these goals for TeX documents.  To improve matters the speaker has introduced the concept of Portable TeX Documents (PTD).  The PTD concept is intended to bring to source documents and the TeX community benefits similar to the benefits Portable Document Format (PDF) brought to Word users and Adobe.<br><br>The concepts and tools underlying PTD, particularly mounting git as a read-only file system, and the use of git backing stores (alternate object databases) are likely to be useful elsewhere. This is particularly true when most of the variability of a system lies in a small folder of text files (which is the case for TeX's typesetting inputs).<br></div><div><br></div><div>Description:</div><div>Adobe's Portable Document Format (PDF) stores the output of a typesetting process. It includes a structured storage system for storing dependencies such as fonts, graphics, multimedia objects and other resources. The speaker is creating similar tools and standards for the inputs to a typesetting process. It will allow authors and others to collaborate using Portable TeX Documents (PDT).<br><br>A key technology will be git used with a backing store (ie alternate object database). Each PDT will be a git tree containing all typesetting inputs. Shared resources such as fonts and style files will be placed in the backing store. Being able to mount a git repository as a read-only file system would be very helpful. Use of PTD will greatly reduce the human, bandwidth and storage cost of typesetting a new TeX document in your inbox. It will also greatly increase the sender's confidence that your output will be identical to theirs.<br><br>The basic idea of PDT is to use git with a backing store. This technology and associated tools will be most helpful when most of the variability of the system lies in a small folder of text files (which is the case for TeX's typesetting inputs). For more information see [video discussion of Portable TeX Documents](<a href="https://www.youtube.com/playlist?list=PLw1FZfIX1w7gcm6b4MzRKDIlW7xV4yFnd" target="_blank">https://www.youtube.com/playlist?list=PLw1FZfIX1w7gcm6b4MzRKDIlW7xV4yFnd</a>).<br></div><div><br></div><div><br></div></div>
</blockquote></div>