Display full content up to a certain level - emacs

Is there a way to show everything: heading + content, up to a certain level (3 for instance) ?
i tried C-u 3 hide-sublevel (to hide all level 4) => not ok, as this is hiding content up to level 3
i tried the VISIBILITY (folded) property, but global cycling visibility still show them.
Any hint ? thanks :D

Just call org-shifttab (S-TAB) with a prefix argument.

Found a way that is not perfect, but that does the job:
in the beginning of your org file:
#+STARTUP: showall
Then in the blocks you want to hide, add a property:
:PROPERTIES:
:VISIBILITY: folded
:END:
Then use C-u C-u TAB

Related

How to create sub-headers in org-mode (emacs)?

Hello I was wondering how to create sub-headers in an org document. I have tried this:
* header
* sub-header
Some text
The * works for the header part but will create bullets instead of sub-headers.
for these kind of questions the org-manual is the best place to check: https://orgmode.org/org.html#Headlines
Headlines define the structure of an outline tree. The headlines in Org start with one or more stars, on the left margin3. For example:
* Top level headline
** Second level
*** Third level
some text
*** Third level
more text
* Another top level headline
Hope, this helps!
As a supplement to the answer by #sanenr9, you can also enable a "clean view" that hides all but the last star in a heading if you prefer (see A Cleaner Outline View): the asterisks are still there in the buffer but they are hidden using an overlay.
Another useful hint is to examine the "Org" entry in the menu: there are many useful commands there (generally with a keyboard shortcut as well). E.g. you can add a new heading at the same level as the previous heading by clicking on the "New Heading" entry in the "Org" menu and you can then make it into a subheading by clicking on
"Org/Edit Structure/Demote heading" menu item (or you can use the indicated keyboard shortcut M-<right> which is done by holding down the Meta key and pressing the right arrow key.)

in org-mode, how to demote all headers in a region?

In my org-mode file, I have a bunch of level 1 headings. I want to highlight some of them and demote them by one level to level 2. How do I do this? When I highlight the region and do M-S-right, I get This command is active only in special context like tables, headlines or items.
You want to use M-right rather than M-S-right.
Here, at least, a sort-of workaround solution: use regexp-replace to change "^*" into "". That should do the job, even if not in a pure Org way.

Collapsing the current outline in Emacs org-mode

Say I am in org-mode in a document with the following structure:
* First headline
* Second headline
** Section A
Here is one line
Here is another line
blah, blah
** Section B
Say the cursor is on the line that reads Here is another line. I would like to collapse ** Section A from this location with a keyboard shortcut.
If I press <TAB> it does not collapse ** Section A, as I would need the cursor to be on the stars for this to work.
If I press <Shift-TAB> it collapses all outlines, and not the current one.
Is there any way to cycle through the collapsing of the outline in scope (i.e. the "current outline")?
You can customize the behaviour of the org-cycle command (which is bound to <TAB>) by changing the value of org-cycle-emulate-tab.
To get it to collapse ** Section A when your cursor is on Here is another line add the following line to your .emacs file:
(setq org-cycle-emulate-tab 'white)
The white will allow you to still use <TAB> to indent in empty lines. From org-mode Github:
org-cycle-emulate-tab's value is t
Documentation:
Where should `org-cycle' emulate TAB.
nil Never
white Only in completely white lines
whitestart Only at the beginning of lines, before the first non-white char
t Everywhere except in headlines
exc-hl-bol Everywhere except at the start of a headline
If you don't mind doing this in two steps:
C-c C-p: move the cursor to the previous heading (** Section A in your example)
TAB: fold the section
This method doesn't require any configuration, as long as you get used to it.

How can I repeat a beamer frame with Org-mode?

With Beamer frames can be repeated by labeling the frame that should be repeated such as
\begin{frame}[label=framelabel]
...
\end{frame}
and then using \againframe{framelabel} at the place where that frame is to be repeated.
How can this method be used with Org-mode's Beamer export? The label can obviously be added by putting it in BEAMER_envargs such as:
* Org-mode section
:PROPERTIES:
:BEAMER_envargs: [label=questions]
:END:
But there are two problems in using \againframe via Org-mode:
\againframe is placed badly both if it is placed under an Org-mode section and if it is put directly in an Org-mode section. The problem is that in the former case is that is is placed inside a frame when it should be placed between. The problem in the latter case is that it is placed inside \frametitle.
\againframe is either swallowed by Org-mode sections or it is marked as one. Both are poor logical representations of its function.
So is there some effective way of using \againframe with Beamer or is there some other way to repeat frames with Org-mode that I have overlooked?
I have already looked at http://lists.gnu.org/archive/html/emacs-orgmode/2011-05/msg00954.html in trying to work this out.
I am running Org-mode 7.6 in Emacs 23.3.1 and I use Beamer 3.13.
The current org-mode has support for againframe. Just create a frame and add the beamer option BEAMER_env = againframe to the corresponding section. Or use C-c C-b a to insert it if you initialized the beamer mode on org-startup.
More information can be found in the org-mode documentation.
An example is available in the original proposal of the syntax:
* section
** My frame title :B_frame:
:PROPERTIES:
:BEAMER_env: frame
:END:
Some text. Some text. Some text. Some text.
Some text. Some text. Some text. Some text.
** section :B_againframe:
:PROPERTIES:
:BEAMER_env: againframe
:BEAMER_act: 2
:BEAMER_ref: *My frame title
:END:
This section will create "\againframe<2>{sec-1-2}".
** Following frame
etc.
I don't think this is currently possible. The limitation lies in the tree structure of an org document. As far as I understood from your question, the \againframe{...} command basically repeats a slide as is. In org terms, that means the original tree used to generate the slide is repeated. Since the org document format doesn't let you have any content which is not part of a tree (other than the frontmatter/header at the top of a file), I believe this is not possible. This has been discussed on the mailing list a few times, from what I understood there are no plans to implement something like this.

emacs org-indent-mode: how to go back a tab

When I enable org-indent-mode in emacs and have a document outline like the following:
* headline
** secondary headline
text
(after pressing enter key on previous line cursor is set here)
(i want my cursor to be here)
I want to have my cursor go back to the 'headline' part, and not automatically to the 'secondary headline' part. How can I make this happen?
Use M-Enter (probably Alt-Enter) instead of just enter.
This is not possible. It's not an org-indent limitation. It's an org-mode, and a general outliner limitation.
You cannot add content to a headline after creating a sub-headline.