Summary of sections in org mode

I often use org-mode in Emacs to write long articles and abstract sections, and I continue to get frustrated that I don't have an intermediate representation between the section outline and the full text. Does anyone know of a good way to include some sort of summary (such as dot points or a paragraph of text) that can be easily shown and hidden?

I have tried so far to use resume boxes. For example:

#+TITLE: My article
#+DRAWERS: SUMMARY

* Introduction
* Data and hypotheses
* Results
** First attempt
:SUMMARY:
My first attempt didn't work so well.
:END:

The text of the section goes here...
** Second attempt
:SUMMARY:
I still haven't started my second attempt.
:END:

I find this works great because the resumes are mostly hidden and I only see them when I want to. The problem is that I still cannot get a general overview in this way, where I can view a summary of each section and hide the full text.

, - , , , , - , , , - .

+4
2

: SUMMARY: solution .

: org-summary org-shifttab. org-summary.

(defun org-summary ()
  "Include :SUMMARY: drawer into heading if present.
You can use this drawer to write a summary.
As a pre-requisite you should include :SUMMARY: in `org-drawers':

\'(add-to-list 'org-drawers \"SUMMARY\")

 1. In your org-document put a line only containing :SUMMARY: on the line following the header.
 2. End the summary by a line starting with :END:.
 3. Leading indentation for :SUMMARY: and :END: is fine.
 4. The last line in the summary block must not be a blank line.
 5. The first non-blank character within summary lines must not be a colon `:'.

Example:

* I am the header
  :SUMMARY:
    And I am the summary.

    Spanning several lines including newlines.
    In this chapter the following topics are discussed:
    1. The world turns fast.
    2. We cannot always read everything we have written once.
    3. We need a summary.
  :END: Now, we will explain everything in full..."
  (interactive)
  (show-all)
  (let ((outline-heading-end-regexp "
\\([[:blank:]]*:SUMMARY:\\(
[[:blank:]]*[^:[:blank:]].*\\)*
[[:blank:]]*:END:\\)?"))
    (hide-body)
    ))

(add-to-list 'org-drawers "SUMMARY")

;; You can insert org-summary into org-cycle:
(defadvice org-shifttab (around summary activate)
  (if (and (boundp 'org-summary-cycle)
       (null org-summary-cycle)
       (eq org-cycle-global-status 'all))
      (progn
    (org-summary)
    (setq-local org-summary-cycle t)
    (message "SUMMARY")
    )
    ad-do-it
    (setq-local org-summary-cycle nil)))
+1

, " ", , , . : SYNOPSIS, , " ":

(defun k-synopsis-view ()
  "Show all headings (contents view) and, if any, their synopsis."
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (hide-sublevels 1)
    (while (re-search-forward "\\(^[ \t]*:SYNOPSIS:[. \t]*$\\)" nil t)
      (org-flag-drawer nil)
      (re-search-forward "^[ \t]*:END:[ \t]*" nil t)
      (outline-flag-region (match-beginning 0) (match-end 0) t))
    (org-content)))
0

All Articles