Иногда желательно начинать каждое предложение в абзаце с отдельной строки.Например, это облегчает разбор больших текстовых документов, поскольку изменение одного предложения не повлияет на весь абзац.Некоторые системы разметки (например, * roff) также требуют, чтобы каждое предложение начиналось с новой строки.
Есть ли способ, например, путем разумного переопределения paragraph-separate
и paragraph-start
, сделать fill-paragraph
остановкой междупредложения?
(примечание: я использую Emacs 23.3.1)
Обновление: пример разметки mdoc (* roff):
The
.Nm
utility makes a series of passes with increasing block sizes.
In each pass, it either reads or writes (or both) a number of
non-consecutive blocks at increasing offsets relative to the ideal
alignment, which is assumed to be multiples of the block size.
The results are presented in terms of time elapsed, transactions per
second and kB per second.
Это одинабзац с тремя предложениями, каждое из которых начинается на отдельной строке, даже если есть место для первого слова в предыдущей строке.В настоящее время fill-paragraph
преобразует это в
The
.Nm
utility makes a series of passes with increasing block sizes. In each
pass, it either reads or writes (or both) a number of non-consecutive
blocks at increasing offsets relative to the ideal alignment, which is
assumed to be multiples of the block size. The results are presented
in terms of time elapsed, transactions per second and kB per second.
, чего я хочу избежать.
Обновление: в предложениях и абзацах
Я вижучто мой вопрос немного неясен, потому что я использовал термин «абзац» для обозначения того, что Emacs называет абзацем, и того, что заканчивается как непрерывный блок текста на выходе любого используемого мной процессора (groff, latex и т. д.).Чтобы уточнить,
- Мне нужно объединить предложения без каких-либо пустых строк между ними;groff не любит пустые строки, в то время как latex рассматривает их как разделители абзацев.
- Мне нужно
fill-paragraph
для работы с отдельными предложениями, т.е. я хочу переопределить абзац как нечто, начинающееся после пустой строки иликонец предыдущего абзаца и заканчивается точкой, за которой следует либо символ новой строки, либо по крайней мере два пробельных символа. - Я бы хотел, чтобы
fill-paragraph
разбил блок текста на отдельные предложения, ноЯ не думаю, что это можно сделать легко.
Например, если я наберу следующее:
The
.Nm
utility makes a series of passes with increasing block sizes.
In each pass, it either reads or writes (or both) a number of non-consecutive blocks at increasing offsets relative to the ideal alignment, which is assumed to be multiples of the block size.
The results are presented in terms of time elapsed, transactions per second and kB per second.
, затем переместите точку в строку, которая начинается с "Вкаждый проход "и нажмите M-q
, я должен получить следующее:
The
.Nm
utility makes a series of passes with increasing block sizes.
In each pass, it either reads or writes (or both) a number of
non-consecutive blocks at increasing offsets relative to the ideal
alignment, which is assumed to be multiples of the block size.
The results are presented in terms of time elapsed, transactions per second and kB per second.
Обратите внимание, что последнее предложение остается нетронутым.