-- Avoid linebreak between a number and a unit or quantifier

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