passerine's comments

passerine | 3 years ago | on: Writing my PhD using groff

I don't have any experience with using Ghostscript as a post-processing step, and I am curious to know if it works well for complex documents.

LaTeX does have a native way of generating PDF-A compliant documents, using the pdf-x package. It's still in beta, but it is quite stable and works very well. The advantage of enforcing PDF-A compliance using native LaTeX is that it allows you to take the further step of implementing reproducible builds. Once that is done, you can be certain that given a LaTeX source file, you will be able to generate a bit-for-bit identical document.

Additional post-processing steps will have to be at least documented, and will probably tie the output on the specific version of your post-processor.

passerine | 3 years ago | on: Writing my PhD using groff

> This depends a lot. In most of the cases delay is only about 1 second on modern PCs. A bit more when you cite and build the document twice.

I agree that for many (or even most) documents, LaTeX's compilation delay is generally manageable. However, when it comes to documents with bibliography management, footnotes, margin-notes, and multiple figures, the compilation delay can get quite high.

In my own experience, I had a document of notes containing over a hundred citations managed by biblatex and bibmla [1]. It also had footnotes and margin-notes, requiring an additional repaint. The compilation time on that document was well over several seconds on my laptop, up to dozens of seconds when on battery-power.

> I finally ended up for just using vim and zathura. Optimised docker image with LuaLatex builds the document. Second favorite would be LaTeX plugin for Jetbrains products. Overleaf is only good for collaborating.

I'm very curious to hear about the docker image that you are using. What purpose does the docker image serve in the build pipeline? I know that for compiled software, sometimes having a build environment allows you to better define the environment variables, but to my understanding this is not a worry for LaTeX.

[1] https://github.com/ShenZhouHong/sartre-notes

passerine | 3 years ago | on: Writing my PhD using groff

I can relate all too well the procrastination involved in fiddling with the typesetting engine! When I was writing my bachelor's thesis (in Philosophy, nonetheless!), I spent an inordinate amount of time on tweaking my LaTeX template and workflow.

I ended up falling way too deep into the Rabbit hole, and started using NixOS just to write the thesis itself. It did eventually result in a fun blog post, though!

https://shen.hong.io/nixos-for-philosophy-installing-firefox...

passerine | 3 years ago | on: Writing my PhD using groff

I can relate quite well to the author's pursuit in tinkering with their typesetting workflow. When I wrote my bachelor's thesis, I also spent a great deal of time coming up with a custom LaTeX template and workflow. Like the author, one of the pain-points was the relatively slow edit-compile-review cycle of modern LaTeX engines like LuaLaTex.

In my case, I was mainly concerned with making the resulting thesis.pdf PDF/A compliant. PDF/A is a archival compliance standard that's dedicated to the long term digital preservation of PDF files.

Predictably, I got way too carried away as well, and ended up trying to create fully-reproducible LaTeX PDFs as well. It was probably overkill for my use-case, but it did result in a fun blog post where I documented the process [1]

[1] https://shen.hong.io/reproducible-pdfa-compliant-latex/

passerine | 4 years ago | on: Ask HN: Share your personal site

Thank you! I'm glad that my work was useful to you. I'm familiar with Lilypond, I've used it in the past to typeset musical notation, which I later exported for use in LaTeX as well.

passerine | 4 years ago | on: Ask HN: Share your personal site

I'm a Philosophy student, and I keep a blog where I post essays on Philosophy and Computer Science- as well as the fun that results in their intersection.

https://shen.hong.io/

Lately, I've been playing around with the NixOS operating system, and I wrote a guide on Building a Philosophy Workstation with NixOS. In it, I document the process of setting up a computer for the use and practice of Philosophy:

https://shen.hong.io/nixos-for-philosophy-installing-firefox...

Although I wrote the guide with Philosophy students in mind, it has a surprising amount of overlap with software development and programming-- which will make it useful for Computer Science students as well.

For an example of a more straightforward work on philosophy, I wrote a dialogue on the metaphysics of being, using an analogy with chess and cryptography:

https://shen.hong.io/dialogue-on-the-questions-of-being/

page 1