Hacker Newsnew | past | comments | ask | show | jobs | submit | opto's commentslogin

As a non-developer who really only uses computers to write and produce documents, why would I use typst over org-mode or $your_fave_markdown + pandoc?

You can pass a JSON structure to a Typst document and render it however you like. No need for a templating engine or anything like that.

Pandoc probably uses latex under the hood, and Typst is order of magnitudes faster. Also, much better error messages.

Typst is vastly superior for usage in automation or when developing document classes.

If that's not your use case, don't bother.


you can tell pandoc to use typst as pdf-engine.

I use this command to create pdf from my md file.

  Downloads/pandoc-3.9/bin/pandoc \
  README.md \
  -o "my-output.pdf" \
  --pdf-engine=typst \
  -V papersize=a4 \
  -V fontsize=10pt \
  -V margin-left=2.5cm \
  -V margin-right=2.5cm \
  -V margin-top=2.5cm \
  -V margin-bottom=2.5cm \
  -V title="My title" \
  -V lang=de \
  --include-in-header=typst-header.typ \
  --toc --toc-depth=3 2>&1
That's the typst-header.typ

  #set figure(placement: none)
  #show figure: set block(breakable: true)
  #set table(
    inset: 5pt,
    stroke: 0.5pt + rgb("#cccccc"),
  )
  #show table: set text(size: 8pt)
  #show table.cell: it => {
    set text(hyphenate: true)
    show raw: set text(size: 6.5pt)
    it
  }
  #set par(justify: true)
  #show heading: it => block(sticky: true, it)

To produce a pdf, pandoc uses typst, pdfroff, lualatex, whatever you please. There is no particular connection to latex. The idea exhibits complete ignorance.

There was probably a nicer way of expressing this, but yes, ideally I will continue to use Org mode for my documents and substitute typst for LaTex when exporting to pdf.

I'm sure everyone has their own use case but I use typst for resumes or other documents that I want to keep in git but I need to share with others using PDF.

I use typst in visual studio code using tiny mist extension. I can generate PDF without installing any new software other than vscode which I already have and the tiny mist extension. The live preview is also nice.

The one thing that bothers me is the dollar sign and the hash sign so to write something like saved $50 million using c#, I write something like saved USD 50 million using #csharp

And near the top I add a variable like this

  #let csharp = "C#"

Markdown has the same class of issue and resolves it the same way you would with Typst: The escape character \. You instead write saved \$50 million using C\#.

I never understood why markdown authors are so insistent on using a single $ to denote math. Math is outside the commonmark spec so this is entirely up to plugin authors.

I am an author of a fairly popular (and early) math plugin for markdown and I resisted (albeit not very hard). I made $$ the default delimiter but I noticed very soon that my users hated it, and finally I gave up and made $ the default delimiter.

What I would have preferred is for $ to behave exactly like backticks (except a minimum of two to start inline math) So you could do stuff like $$ f $ x $$ to render f $ x meaning function f applied with x. And write stuff like:

    $$$optional-tag
    f $ x
    $$$
for block math. I even wrote a competing plugin to my older one where I do this, but I don‘t think anybody uses is, because most people writing math in markdown are expecting it to behave exactly like latex.

I personally like using code blocks with math as the language

Gives you a nice, block level element, and it's easy to reason about


I don’t really like that either since code blocks are supposed to be verbatim, and the language is only supposed to be a hint for syntax highlighting. Additionally you also occupy the first tag which may be an issue when e.g. writing a preample for a latex renderer (or if you want to pick a different renderer).

True

Djot solves this with tagged literals, but no one seems to want to use djot


Typst does typesetting like TeX (or InDesign for a WYSIWYG alternative), neither org-mode nor markdown has a rich enough formatting language for general typesetting, like if you want to make a flyer for a concert, a brochure or a comic book.

I pass from markdown to typst pdf via pandoc a few times a day. From that point of view it is just an alternative to latex or roff, e.g.

pandoc -r markdown -w pdf --pdf-engine=typst input.md -o output.pdf


I tried using markdown+pandoc for my notes for a while, but I couldn't figure out even the most basic things, mostly because of the dozens of incompatible flavors; in no particular order:

- formatting math blocks is mostly not a thing; some formatters will straight up break the document depending on the flavor you use

- lsp

- live preview; you could use e.g. a neovim plugin for that, but it's built on top of mathjax

- pandoc isn't even a single flavor, as you have a bunch of feature flags and multiple ways to do the same thing

- rendering with pandoc is pretty slow even for a few pages of lecture notes (especially compared to typst)

- latex (required by pandoc) is huge, meanwhile typst binary was something like 50M last time I checked

- syntax highlighting: markdown treesitter grammar only supports the common extensions, e.g. the esoteric latex block variants break the entire document

I guess if I didn't need math rendering, the only major complaint I'd have is performance, but at that point .txt is enough


Latex is in no sense required by pandoc and never has been, not ten years ago, not twenty years ago. Everything you are writing is deep conceptual confusion from top to bottom. You might as well say it has required Microsoft Word since the docx readers and writers came out.

Latex is a typical route to produce pdfs according to your specification, but typst is what I use; occasionally groff. I use latex when what I am typesetting uses greek, arabic or hebrew text, but only because I haven't yet bothered to learn the typst approach to them.


only if you don't care about the output and half the features; otherwise you can just use "mv" to compile your documents to .txt

“latex (required by pandoc)”

No.

`--pdf-engine=typst`


but then you're limited to an undocumented subset of pandoc markdown

I don’t know what this means, but please don’t explain.

applicative’s comment is correct. Every one of your bullet points is wrong, except perhaps the one about treesitter highlighting, but what should one expect? Why should a Markdown parser know anything about arbitrary Markdown extensions?


> please don't explain

why are you even talking to me?


Markdown is for "I want to type semantic content and get a vaguely reasonable result". Typst is for typesetting documents where you care what the output looks like, and where you want a print-quality PDF (or, in the future, also HTML; currently still WIP).

I use pandoc + typst to render beautiful documents from Markdown. Works really, really well.

It produces beautiful PDF output from org-mode!

Use it with markdown/pandoc. That's what I do for my books...

Compilation speed on typst is crazy

When there is a large portion of society that realises this is a way to say, "what if I had every social interaction in the setting I want, with the characters I want, with the response I want, where I say exactly the right thing" and choose to spend all of their leisure hours generating imaginary worlds to make them feel better there will still be people saying, "and so what if they do? If people will pay for it, ultimately the market decides"


They would end up extremely bored very soon.


This way of encoding numbers is great.

I knew the 7-4-2-1-S way to get 1-9 from 5 holes, and it is more intuitive to use, but once you write out the pattern for yours it is also easy to see


You should take a look at the Bourne book, if you can get hold of a copy. It's an amazing book which draws on the generation or more experience in working with mechanical systems, and the first generation experience in using digital methods. Here's what it says about the code you mentioned, compared to the triangle code.

"From a space standpoint, one of the most efficient and most commonly used schemes is the 7-4-2—1 code, which only requires four holes to represent any number between 0 and 14 (Fig. 5-6f). Normally the four holes are only used to represent the digits 0 to 9, with zero represented by an unnotched code field. This introduces some ambiguity since a field with no punches in it may represent either missing data or a zero digit. The 1 hole will be punched every time that the numbers 1, 3, 5, or 8 are punched. If there was a need to search the file to select the cards which were punched with a 1, then a single needle pass in the 1 hole would also drop out all the cards which were punched with a 3, 5, or 8. Similarly, a single needle pass in the 4 hole would also select the cards notched with 5’s and 6’s. For this reason, this particular code does not lend itself to rapid selective searches. However, it is extremely useful for applications that require sorting cards into sequence."

"Several other coding schemes that also permit relatively rapid serial sorting are available. These schemes, at the cost of using more code positions than the 7-4—2—1 code, incorporate a triangular display on the card in order to simplify the punching and recognition by the user (Fig. 5—6k, l). Two holes are punched for every digit. The positions to be punched are the ones whose guidelines intersect at the desired digit on the printed display. Serial sorting is performed in the same manner as for the 7—4—2-1 code except that one more hole must be needled. One efficient triangular display scheme uses four code positions with a double-row card (Fig. 5-6m)."

Here's a copy of the section on encoding methods - http://dalkescientific.com/opto_Bourne.pdf .

I got really into edge-notched cards about 10 years ago. I made my own cards for handling chemical data. You can see them at 43:41 of my talk at https://youtu.be/y6dUkCxlrd8 . I also visited the Calvin Mooers archive at UMN because of his work in Zatocoding, Chemical Zatocoding, connection tables, and substructure search (Zatopleg). He mostly published as white papers from his own company, which makes it hard to find copies anywhere else.


You could also use Zatocoding, or superimposed codes (https://en.wikipedia.org/wiki/Superimposed_code) as a way to 'tag' cards.

For example, many research facilities kept a stack of edge-notched cards as a way to find papers to read. You write the name of a paper or book on a card, and you notch out the holes which correspond to a search term, like 'polymer', or 'cellulose' -- then you can use needles in those holes to search for them later.

You can also then do things like boolean searches. Let's say you want all of the papers which are about polymers which are not cellulose. First you poke the holes for 'polymer', and collect up all the ones that drop. Next you take that stack and poke the holes for cellulose -- the cards which drop are about cellulose, so you ignore those, and the ones left on the needles are about polymers which are not cellulose.

I got really into the idea of doing this as a way to do something like a crazed zettelkasten, and reading material from the time this was widely used they would claim they could sort through thousands of cards in a few minutes. Not as quick as ripgrep, but not too shabby.


I am an instructor who helps deliver an apprenticeship. My new boss has been in our industry for about 20 years and is one of the most respected people in our company. They've just joined us to teach and are off doing a two week course. On the first day she was told to let AI write all of her lesson plans, and then feed the lesson plans to AI to make her slides...

Hopefully she rejects all this out of hand, but if she doesn't it'll mean that none of our trainees get the benefit of her experience, who she is as a person, and what she has to pass onto them.

We have 6 monthly reviews as instructors where we are told the same thing. "How could you use AI for your teaching?"

They don't even feel the need to justify why this would be desirable, or is needed at all. It's just pure bandwagonning. Unbelievably, most of my coworkers are extremely positive about AI, although none of them have told me they use it for anything besides preparing their lessons for them — they just use it instead of having to think, or spend time preparing...the only important thing they do at work.

It makes no sense to me.


I’m teaching a class at a university in Japan (on AI-related issues, as it happens). I’ve been teaching for more than 40 years, but at 106 registered students this is by far the largest class I have ever taught. AI tools are very helpful for class management, such as keeping track of attendance and homework submissions.

I have to consciously avoid using AI for more cognitive tasks, though. It would be very tempting to have Claude, ChatGPT, or Gemini summarize, classify, and grade the students’ assignments, write individual feedback, prepare my lesson plans, etc. However, I know that my engagement with the material and with the students would suffer. I also want to show the students that they are learning together with me and with each other, not with bots.

I am semiretired and have a light teaching load that gives me plenty of time to prepare for class. I can see that full-time teachers might find it hard to resist the lure of offloading their thinking to AI.


I've been a teacher (most of the time a college professor) for...a long time. Nowadays, when preparing a new course, I definitely work with AI: "Here's what I want, and who my audience is - give me a course outline".

That gives me a starting point. Of course, I modify it. Maybe I bounce back and forth to the AI for further refinements and suggestions, but ultimately I have to be happy with the result.

When prepping the individual lessons, the biggest time saver is coming up with examples to illustrate particular points. I could do this alone, but sometimes that involves staring at a blank screen for a while. It is faster to ask the AI for suggestions, pick the one I like, and refine it further myself.

AI is a tool. Use it appropriately.


> AI is a tool. Use it appropriately

Yes, but no room is made for people who see no use for it. There is a forced-consensus that this technology is useful, which I have to combat against at work.

We teach in a very different environment, but your use sounds typical of my colleagues. "I ask it for suggestions and pick one", but nobody seems to wonder about what is lost when we shrink the horizon of what we will teach to the most likely outputs from a chatbot, one of which we will use.

Maybe this makes more sense in other fields. I have to prepare people to work in the shipping industry, in extremely dangerous roles where they will be operating heavy machinery, steering ships, driving cranes etc. The fact is that AI knows next to nothing about this field because an AI cannot experience handling a ship in rough weather, has never secured a boat to a ship's side with the rain and wind in its face.

Yet, when people are brought in to instruct our trainees, they are told to "tell AI what you want and pick one of the suggestions", in the best case, or just give over everything to the AI in the worst case. And nobody seems to be able to explain why this is a better way of working than sitting with a pen and paper, brainstorming some ideas for a lesson based on your real experiences, and then delivering it. The only justification I'm ever given is your one, "I pick from a list so I am really still in control", "it's quicker and I don't have to think as hard or as long", "it's better at making slides or writing good-sounding (to management and auditors) lesson plans". No-one ever seems to justify it by saying it is genuinely a better experience for the trainees.


> Yes, but no room is made for people who see no use for it. There is a forced-consensus that this technology is useful, which I have to combat against at work.

This is the crux of the issue -- The technology is useful. Using it appropriately is probably the thing that people are ignoring, but you're conflating one and the other in your comment.

It is not useful to you in this case, and complain that it is an overall detriment in your industry. Those are fine and reasonable statements and conditions, and I see no reason to disagree with them... But your first statement, people who see no use for it? That is, to me, as off-putting an opinion as the consequence-unaware hypebeasts who are running OpenClaw with access to their trading accounts and can't see why others aren't.

I sympathise with the idea that everyone wants to use the new hammer and so is treating every problem like a nail, but hammers are still pretty good tools. (And you can ignore the ex-NFT-fans hammering on their dicks in the corner.)


I mean only that I see no use for it myself, in my own work. I'm sure there are people working in roles around me who believe they get some use out of AI doing their work for them, and they will have to answer to auditors when they find problems with their work, or when someone is killed.

To me, as a non-techie person, it feels as if people who work in software believe that because their work can be done by AI, everyone else's can, too. Or that this would be better, simply because it proposes a technological solution to human work — it is taken as read that a solution which uses cool sounding computers and data farms is better than one done by humans with a pen and a pad and life experience. They don't have to justify this belief, because the money is on their side.


I don't mean to tar you with a too-wide brush, and I feel like you have a good handle on your personal acceptance for LLM assistance. No complaint there.

I do think, maybe alternative to your view, that LLMs can provide useful feedback to graduate-level employees in most fields.

It is not that the work can be done by LLMs -- we're not there, yet, in software or otherwise -- but that LLMs as useful tutors specifically in regard to denouncing known bad ideas is largely applicable all over.

What I mean by the above is that I have yet to find a truly interesting idea spun from whole cloth by an LLM. They're mediocre at it. They're trained from the aggregate thoughts of those in every industry, and you and I both know that the aggregate of the industry is, generally, mediocre.

Conversely, though, is the hit: They won't be worse than mediocre. An indefatigable tutor who gives no great advice but will counsel you against blowing yourself up (or cutting a limb off with a rope, or falling overboard) is, to me, worth an amount.

The failure modes will get better, the advice will get better. Are we there, now? Unsure. You can tell us all better.

On the ten year horizon, I'd place a bet, though.


What does that really mean though — ten more years of data centers exploiting local communities for their resources will mean that a computer might be able to teach people to tie knots, and reliably check their work... No government would allow that to certify someone, and no company would risk the lawsuit when someone dies doing what the AI tells them, so it's a non-starter. Even if it were possible, and governments got on board with certifying training like that, would anyone think this was better than what we have now?

What are the likely use cases in my industry then? That AI is used to bodge the important paperwork that protects lives; is used to draft legislation; is used by both employees and management to do things like personal development reports.

Is anyone meant to be impressed? Is this worth communities having their water stolen from them?

I appreciate I am skeptical, but it is hard not to be when the world spends all day telling you a piece of technology is going to fundamentally change the world, and in real life you only see people use it to blag CVs, personal reports, and lesson planning.


> "What does that really mean though — ten more years of data centers exploiting local communities for their resources"

That is purest hyperbole. Data centers use a lot of electricity, but they are hardly looting local communities. The water issue is wildly exaggerated, unless a data center is located in a desert, because most water is recirculated.

And why do you think no one will allow an AI to certify someone on certain topics. Their knowledge at the moment is roughly the average of people in the field. Is an average person in your field not able to certify others? In any case, AIs are improving very rapidly, so what is not possible today will be possible tomorrow.

As an example, let me point out the Tesla FSD. On a per-mile basis, self-driving Teslas have a massively lower accident rate (less than 20%) than human-driven vehicles. That is a very physical activity being handled by an AI.


Well in the 90s and early 2000s you really could make money as a small local artist in a niche genre. Think of the people who could cut 500 white labels of their new UK Garage tune and reasonably expect to sell them from the back of their car and turn a decent profit on it.

The ability to be a small time artist, musician, etc and live in the 90s depended on the combined effects of technology and local organisations. You could play on pirate radio, you could go on benefits without too much hassle, you could stay at a squat, you could make your own physical products cheaply, there were lots of venues to play at, you could sell your products for cash and keep it.

The internet makes the distribution of music files cheap and easy, but combined with the increased technologising of society, the rest of the infrastructure that made the 90s a time where culture felt like it was on an e-rush with everyone else have fallen apart.


Can we actually separate distribution from sharing?

I notice that all the advertising examples you listed are about spending time and not money, I'm wondering if there's something there?


You just need a tickler file.


In a completely different field, navigating ships at sea, the Collision Regulations which define how people must conduct ships at sea, they use the words "Shall" and "May" to differentiate legal requirements and what may just be best practice. "Should" intuitively means something more like "May" to me


Happily, the meanings in RFCs are clearly specified, see https://www.rfc-editor.org/rfc/rfc2119.

Note "the full implications must be understood and carefully weighed before choosing a different course". Gmail and the other big hosters have full-time spam teams who spend a lot of time weighing implications, so I assume the implications of this was weighed.


I feel like "SHOULD" and "SHOULD NOT" are redundant. You end up having to assume someone else treated them as a "MAY". If you control all the endpoints in a private implementation you can just deviate from the standard & not implement a MUST, it's your private implementation. There's thus no difference in public implementations between "SHOULD" and "MAY", and no difference in internal implementations between any of the words. They are therefore redundant, requirements are either mandatory or optional, there's no middle.


And EVERY rfc has a paragraph talking about rfc 2119 in the preamble.


I guess that's why nobody reads it. /s


Pay licence fee, read BBC news


You don't even need a TV license for BBC news.


Correction: for the BBC News website. You most definitely do for the BBC News TV channel.


Replying for anyone reading this comment: Le Guin was a Daoist, but also, and concurrently, an anarchist. So much of her writing, especially The Word for World is Forest, parts of Earthsea, The Dispossessed, is informed by her anarchism. Very often you find Le Guin exploring ideas of an anarchist response to colonialism, or just enjoying setting out an anarchist society and imagining how it might work, how it would unfold, the challenges it would face, and the solutions people might try.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: