Proposing to reserve special characters "^^" in plain text documents. Use them to replace tabs in outlines.

kelly.aquinas.tom's Avatar


02 May, 2013 05:49 PM

Here is something I wrote up to solve a problem with outlines and markdown. Can I have your input? Do you want to reserve "^^" for anything in multimarkdown later? I e-spoke with CriticMarkup people as well...

Proposing to reserve special characters "^^". Use them to replace tabs in outlines.

From outline to plaintext and back.

...Or how to change from tabs to something human readable. Tabs are not really human readable because they can be confused with spaces.

Why is this even necessary? Because when Markdown and Multimarkdown editors open outlines, they usually leave tabs in, making the text move too far to the right. Any sub points become unreadable, especially on a thin smartphone (e.g. iPhone)

Plain text outlines can be imported and exported from many outlining apps, but they don't play well with markdown editors.

I propose using ^^ as a marker for the tab character in markdown or multimarkdown documents.

One can convert from an outline to a plain text (or markdown) document for readability. On the other hand, one can convert from a markdown document to an outline by changing the double circumflex ^^ to tab characters. The tab character is not available on the iPhone keyboard. Making a file in an outline format often requires the tab character.

I want to use outline formats with multimarkdown because I want to fold the document to see the structure, and rearrange the paragraphs. Currently I use Taskpaper on the iphone to rearrange markdown documents. Using the outline format gives me more flexibility when changing and editing plain text documents.

The choice of double circumflex as tab replacement characters.

What character(s) should one use? In order to solve these problems mentioned above, one needs to convert the tabs to special characters, and back again.

If I convert tabs to 4 spaces then it turns into a code block in markdown. If I convert to three spaces or two spaces then two tabs in a row turn into a code block. A better solution is to convert tabs to a special character combination.

First of all, investigate the "one character" option:

These are the special characters available on a regular keyboard.

ALL special characters:

backtick `, ~, !, @, #, %, ^, &, *, -, _, +, =, |, \, {}, [], <>, /

RESERVED markdown characters:

backtick `, !, #, *, |, [], > (= blockquote)

\ backslash escapes a special character.

RESERVED punctuation, HTML and web characters:

!, @, /, $, %, &, -, _, +, =, <>, :, ;, quotes

{} are used in critic markup
~ is used in latex
^ Circumflex is used in math formulae.

That leave these possible single characters:
^, ~ These are OK for my personal use, but will break if someone uses latex or math equations. (I use the ~ symbol personally sometimes when writing about tao, tai chi and human philosophy in general.)

The next option is two or more characters:

The best options to investigate seem to be:

~~ or

(All possible combinations are not completely investigated here. I start with double characters because they are easier to type and recognize in a body of text.)

RESERVED double characters:

<!-- = html or latex raw code begin
--> = html end
== = a markdown title

Other possibilites not used:

critic markup already uses:

Substitution {~~ ~> ~~}

Addition {++ ++}

That leaves ^^ for outline.

The double circumflex seems to be the best option left for a two character marker for tab.

Example Outline:

^^ point one
^^ point two
^^^^ sub point a
^^^^ sub point b

So replace ^^ with tab to convert to outline format, and
replace tab with ^^ to convert to Markdown.

Of course, this does not need to be in the markdown or Multimarkdown OR Critic spec because they don't need a parser to change back and forth. No parsing is necessary, only search and replace with any text editor.

There are many formats for outlines including OPML, etc. but most robust programs will import tabbed outlines.

PS. To keep versions straight, "OL" can be added to the end of the filename for outlines, for example:

test OL.txt (contains tabs)
test MD.txt (contains ^^) or
test MMD.txt (contains ^^)

  1. Support Staff 1 Posted by fletcher on 02 May, 2013 06:55 PM

    fletcher's Avatar

    The only possible conflict is that I am considering foo^2 as a syntax for exponents/<sup> since it has been requested quite often. I don't anticipate using "^^". You would probably be ok.

    I'm not sure that this proposal is a great one, but as you note --- you're looking for something that works for you and can be easily converted with find/replace. So neither I nor anyone else has to support/use it. It would simply require you to remember which format you are currently in, and use the appropriate conversion when needed. So if you like it, go for it.


    Fletcher T. Penney
    [email blocked]

  2. Support Staff 2 Posted by fletcher on 02 May, 2013 06:56 PM

    fletcher's Avatar

    Also --- aren't "^^" used in some emoticons? Might not really be an issue, but just a thought.


  3. fletcher closed this discussion on 02 May, 2013 06:56 PM.

  4. kelly.aquinas.tom re-opened this discussion on 02 May, 2013 07:52 PM

  5. 3 Posted by kelly.aquinas.t... on 02 May, 2013 07:52 PM

    kelly.aquinas.tom's Avatar

    Thanks great work

  6. fletcher closed this discussion on 03 May, 2013 12:36 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

11 Dec, 2022 09:57 PM
11 Dec, 2022 07:57 PM
26 Sep, 2022 02:40 AM
21 Jul, 2022 10:22 AM
11 Jan, 2022 02:33 PM

Recent Articles