From f3672ff20c7b7d1dccfa8de5f6df78b863d124b5 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Mon, 6 Oct 2025 10:08:39 +0200 Subject: add initial report structure --- _extensions/js/nobreaks/nobreaks.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 _extensions/js/nobreaks/nobreaks.lua (limited to '_extensions/js/nobreaks/nobreaks.lua') diff --git a/_extensions/js/nobreaks/nobreaks.lua b/_extensions/js/nobreaks/nobreaks.lua new file mode 100644 index 0000000..c3f0e7d --- /dev/null +++ b/_extensions/js/nobreaks/nobreaks.lua @@ -0,0 +1,23 @@ +--- nobreaks - avoid linebreak between a number and a unit or quantifier +--- +--- SPDX-FileCopyrightText: 2025 Jonas Smedegaard +--- SPDX-License-Identifier: GPL-3.0-or-later + +local non_breaking_space = pandoc.Str("\u{00A0}") + +function Para(el) + for i = 1, #el.content - 1 do + if el.content[i].t == "Space" then + local el_prev = el.content[i - 1] + local el_next = el.content[i + 1] + if el_prev and el_next + and el_prev.t == "Str" and el_next.t == "Str" + and string.match(el_prev.text, "%d$") + and string.match(el_next.text, "^[%a%%§°Ωμµ]") + then + el.content[i] = non_breaking_space + end + end + end + return el +end -- cgit v1.2.3