Оказалось, что добавление \b после \pc не сработало. (К тому же оно было поглощено \nobreak.) Поэтому я подумал, что добавлю новый абзац с неразрывным пробелом, вот так:
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p \u00a0\2'
Но и это, похоже, поглощается. Если я заменю неразрывный пробел на реальный символ "x", то интервал получается примерно правильным... но в выводе появляется "x"!
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p x\2'
Есть ли что-то, что я могу поместить в абзац, чтобы оно было невидимым, но не поглощалось \nobreak?
Джефф
ОБНОВЛЕНИЕ: Ну, оказалось, что узкий неразрывный пробел невидим и не поглощается:
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p \u202f\2'
Джефф
It turns out the adding the \b after the \pc didn't work. (It also got absorbed by the \nobreak.) So I thought I would add a new paragraph with a no-break space like this:
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p \u00a0\2'
But that also seems to get absorbed. If I make the no-break space into a real character "x", then the spacing works out about right... but it also puts an "x" in the output!
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p x\2'
Is there something I can put in the paragraph that would be invisible, but would not get absorbed by the \nobreak?
Jeff
UPDATE: Well, it turns out that a narrow no-break space is invisible and doesn't get absorbed:
'(\\pc .+)(\n\\s |\n\\s2 |\n\n)' > '\1\n\\p \u202f\2'
Jeff