* fill paragraph: break after sentence.
@ 2016-09-06 8:23 Uwe Brauer
2016-09-06 10:38 ` Aaron Ecay
2016-09-09 11:27 ` Andreas Röhler
0 siblings, 2 replies; 6+ messages in thread
From: Uwe Brauer @ 2016-09-06 8:23 UTC (permalink / raw)
To: emacs-orgmode
Hello
I would like to modify the auto-fill function such that after every
sentence a new line starts like this
In order to prove our nonlinear instability result, we want to use the
linear growing mode in Proposition to construct small initial data for
the nonlinear problem.
Since we are involved in the higher-order regularity context, we
cannot simply set the initial data for the nonlinear problem to be a
small constant times the linear growing modes.
I know about functions doing that for auctex, but does anybody know
about a similar functionality for orgmode?
Uwe Brauer
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fill paragraph: break after sentence.
2016-09-06 8:23 fill paragraph: break after sentence Uwe Brauer
@ 2016-09-06 10:38 ` Aaron Ecay
2016-09-06 12:06 ` Uwe Brauer
2016-09-09 11:27 ` Andreas Röhler
1 sibling, 1 reply; 6+ messages in thread
From: Aaron Ecay @ 2016-09-06 10:38 UTC (permalink / raw)
To: Uwe Brauer, emacs-orgmode
Hi Uwe,
The following code is what I use. It uses filladapt mode, but doesn’t
work with auto-fill (I manually refill paragraphs with M-q as I’m
writing). I wrote the code a long time ago, it works for me, YMMV,
etc. Hope it is helpful.
#+BEGIN_SRC emacs-lisp
(defun awe-org-fill-paragraph-function (&rest ignore)
(let ((bounds (cons (save-excursion (backward-paragraph) (point))
(save-excursion (forward-paragraph) (point))))
beg end end-marker)
(save-excursion
(goto-char (cdr bounds))
(skip-chars-backward "\n")
(setq end-marker (point-marker))
(setq end (make-marker))
(goto-char (car bounds))
(skip-chars-forward "\n")
(catch 'exit
(while t
(setq beg (point))
(forward-sentence)
(move-marker end (point))
(save-excursion
(goto-char beg)
(when (and fill-prefix
(not (looking-at-p (regexp-quote fill-prefix))))
(insert fill-prefix))
(while (re-search-forward "\n *" end t)
(replace-match " ")))
(setq beg (point))
(skip-chars-forward " \n")
(move-marker end (point))
(when (>= (point) end-marker)
(throw 'exit t))
(when (/= beg end)
(delete-region beg end))
(insert "\n"))))
(set-marker end-marker nil)
(set-marker end nil)))
(defun awe-org-setup-fill-hook ()
(setq-local sentence-end-base
(rx (any ".?!")
(? "[fn:" (+ (any "0-9" "a-f")) "]")
(* (any "]\"'”)}"))))
(when (featurep 'filladapt)
(setq-local fill-paragraph-function #'awe-org-fill-paragraph-function)
(make-local-variable 'filladapt-token-table)
(make-local-variable 'filladapt-token-match-table)
(make-local-variable 'filladapt-token-conversion-table)
(cl-pushnew `(,(rx "#+" (or "caption" "CAPTION") ": ") org-caption)
filladapt-token-table :test #'equal)
(cl-pushnew '(org-caption org-caption)
filladapt-token-match-table :test #'equal)
(cl-pushnew '(org-caption . exact)
filladapt-token-conversion-table :test #'equal))
(visual-line-mode 1)
(auto-fill-mode 0))
(add-hook 'org-mode-hook #'awe-org-setup-fill-hook)
#+END_SRC
--
Aaron Ecay
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fill paragraph: break after sentence.
2016-09-06 10:38 ` Aaron Ecay
@ 2016-09-06 12:06 ` Uwe Brauer
2016-09-06 15:52 ` Nicolas Goaziou
0 siblings, 1 reply; 6+ messages in thread
From: Uwe Brauer @ 2016-09-06 12:06 UTC (permalink / raw)
To: emacs-orgmode
>>> "Aaron" == Aaron Ecay <aaronecay@gmail.com> writes:
Hi Aaron
> Hi Uwe,
> The following code is what I use. It uses filladapt mode, but doesn’t
> work with auto-fill (I manually refill paragraphs with M-q as I’m
> writing). I wrote the code a long time ago, it works for me, YMMV,
> etc. Hope it is helpful.
Thanks a lot. This was precisely what I was looking for.
IMHO should be included somehow in vanilla org, or at least added to
some addon-pkg.
Uwe
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fill paragraph: break after sentence.
2016-09-06 8:23 fill paragraph: break after sentence Uwe Brauer
2016-09-06 10:38 ` Aaron Ecay
@ 2016-09-09 11:27 ` Andreas Röhler
1 sibling, 0 replies; 6+ messages in thread
From: Andreas Röhler @ 2016-09-09 11:27 UTC (permalink / raw)
To: emacs-orgmode
On 06.09.2016 10:23, Uwe Brauer wrote:
> Hello
>
> I would like to modify the auto-fill function such that after every
> sentence a new line starts like this
>
> In order to prove our nonlinear instability result, we want to use the
> linear growing mode in Proposition to construct small initial data for
> the nonlinear problem.
> Since we are involved in the higher-order regularity context, we
> cannot simply set the initial data for the nonlinear problem to be a
> small constant times the linear growing modes.
>
> I know about functions doing that for auctex, but does anybody know
> about a similar functionality for orgmode?
>
> Uwe Brauer
>
In use here is ar-forward-sentence-atpt as part of thing-at-point-utils
toolkit
https://github.com/andreas-roehler/werkstatt/tree/master/thing-at-point-utils
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-09-09 11:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-06 8:23 fill paragraph: break after sentence Uwe Brauer
2016-09-06 10:38 ` Aaron Ecay
2016-09-06 12:06 ` Uwe Brauer
2016-09-06 15:52 ` Nicolas Goaziou
2016-09-06 19:30 ` Uwe Brauer
2016-09-09 11:27 ` Andreas Röhler
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).