emacs org-mode characters about unorder list - emacs

When I read about the manual about emacs org-mode on chapter 2.7, I wondered to know whether list characteres +, -, * have specific/special meanings. If you know, please tell me! For example, the character * means heading, but what about other characters?
screenshot

+, -, and * are the unordered list characters. * is used for headings, but also for an unordered list item.
Here is a link to the docs.
https://orgmode.org/manual/Plain-lists.html

Related

How to know which CharacterSet contains a given character?

Is there a way to check if a character belongs to a CharacterSet?
I wanna know what CharacterSet should I use for character -. Do I use symbols?
I've checked this documentation but still no idea. https://developer.apple.com/documentation/foundation/characterset
When removing extra whitespace at the end of a string, we do it like this:
let someString = " "
print("\(11111) - \(someString)".trimmingCharacters(in: .whitespaces))
But what if I just want to remove the -? Or any special character such as *?
EDIT: I was looking for a complete set of characters per each CharacterSet if it's possible.
What you want is defined in the Unicode standard. It is referred to as Unicode General Categories. Each Unicode character is in a category.
The Unicode website provides a complete character list showing the character's code, category, and name. You can also find a complete list of Unicode categories as well.
The - is U+2D (HYPHEN-MINUS). It is listed as being in the "Pd" (punctuation) category.
If you look at the documentation for CharacterSet, you will see punctuationCharacters which is documented as:
Returns a character set containing the characters in Unicode General Category P*.
The "Pd" category is included in "P*" (which means any "P" category).
I also found https://www.compart.com/en/unicode/category which is a third party list of each character by category. A bit more user friendly than the Unicode reference.
To summarize. If you want to know which CharacterSet to use for a given character, lookup the character's category using one of the charts I linked. Once you know its category, look at the documentation for CharacterSet to see which predefined character set applies to that category.

How do I tell org-mode to disable headings in verbatim text?

How do I make org mode not interpret a line that begins with an asterisk as a headline? I have some verbatim text in my org mode document. Some of the lines begin with an asterisk. Org mode interprets these lines as headlines. I don't want that.
Here is the text with some context:
* 20160721 Headline for July 21, 2016
I created a git repository for rfc-tools. It's in
~/Documents/rfc-tools.
Renamed grep-rfc-index.sh to search-rfc-index.sh because it searches.
That it uses grep is irrelevant.
Wrote a README.md for the project. Here it is:
#+BEGIN_SRC text
----- BEGIN QUOTED TEXT -----
This is the README.md for rfc-tools, a collection of programs for
processing IETF RFCs.
* fetch-rfcs-by-title.sh downloads into the current directory the RFCs
whose titles contain the string given on the command line. Uses an
rfc-index file in the current directory. Prefers the PDF version of
RFCs but will obtain the text version if the PDF is not available.
* fetch-sip-rfcs.sh downloads RFCs that contain "Session Initiation"
in their titles into the current directory.
* search-rfc-index.sh searches an rfc-index file in the current
directory for the string given on the command line. The string can
contain spaces.
* join-titles.awk turns the contents of an rfc-index file into a
series of long lines. Each line begins with the RFC number, then a
space, then the rest of the entry from the rfc-index.
----- END QUOTED TEXT -----
#+END_SRC
I want the lines between "----- BEGIN QUOTED TEXT -----" and "----- END QUOTED TEXT -----" to be plain text and subordinate to the headline "20160721 Headline for July 21, 2016". Org mode interprets all lines that begin with an asterisk as top-level headlines.
By the way, the verbatim text is Markdown. I hope that doesn't matter.
worked for me:
#+BEGIN_SRC markdown
Try wrapping your text in one of the various special block tags. For example you could try putting your text inside these tags:
#+BEGIN_SRC text
...
#+END_SRC
Here is a screenshot of how the formatting turns out on my Emacs:
If that doesn't meet your needs, you could try:
#+BEGIN_EXAMPLE
...
#+END_EXAMPLE
Which will render everything inside the tags without markup and in a monospace font.
If that doesn't work either, you could try one of the other kinds of tags listed here.
Escape the * with a comma like this,*
Probably if you type C-c ' to enter a special edit and then exit, org will do that for you.
I think the answer is "You can't do that". I found a way to work around the problem using drawers. The org-mode manual explains that a drawer is a place to put text that you don't want to see all of the time.
A StackExchange user had a question about
getting a custom org drawer to open/close. It seems that for older versions of org-mode, you must tell org-mode the names of your drawers. E.g. If you have a drawer named "COMMANDS"
:COMMANDS:
ls
cat
grep
:END:
you must tell org-mode the name of the drawer using the +DRAWERS keyword:
#+DRAWERS COMMAND
and restart org-mode.
I found a solution:
Escape Character
You may sometimes want to write text that looks like Org syntax, but should really read as plain text. Org may use a specific escape character in some situations, i.e., a backslash in macros (see Macro Replacement) and links (see Link Format), or a comma in source and example blocks (see Literal Examples). In the general case, however, we suggest to use the zero width space. You can insert one with any of the following:
C-x 8 zero width space
C-x 8 200B
For example, in order to write ‘[[1,2]]’ as-is in your document, you may write instead
[X[1,2]]
where ‘X’ denotes the zero width space character.
How to remove zero width space:
sed -i "s/$(echo -ne '\u200b')//g" abc.txt

complete list of special characters (e.g \nquit)

I desperatly tried to find out what symbol '\nquit' is... and I couldnt find any reference in the web.
What I tried to find is a complete list of all of those characters (\n, \p, \0, ...) but I couldn't find any.
cheers usche
Wikipedia has a list of C language escapes here.
As noted in my comment, I believe this represents the newline (linefeed) character \n followed by the word quit (which would be forced by the newline to the beginning of the next line of output). But in that case the string should be "double"-quoted rather than 'single'-quoted.

Any way to extend org-mode tags to include characters like "-"?

BRIEF: can the characters permitted in org-mode tags be extenced in any way?
E.g. to include -, dashes?
DETAIL:
I see
http://orgmode.org/org.html#Tags
Tags are normal words containing letters, numbers, ‘_’, and ‘#’. Tags
must be preceded and followed by a single colon, e.g., ‘:work:’.
I am somewhat surprised that this is not extensible. Is it, and I have missed it?
TODO keywords can include dashes. Occasionally I would like to treat TODOs as intermiscible wth tags - e.g. move a TODO to a tag, and vice versa - but this syntax difference gets in the way.
Before I start coding, does anyone know why dashes are not allowed? I conjecture confusion with timestamps.
Not certain, but it is likely because certain agenda search strings use "-" as an operator, and there is not yet a way to escape those using "-".
I have used hyphens for properties and spaces for todo kw with no problems for my purposes, but I have not tried them in searches.
The new exporter will be included in 8.0 and with it a detailed description of syntax. If you want to file a feature request to allow hyphens, perhaps by allowing escaping in search strings, now is the time to do it.

What is '`' character called?

I feel silly for asking this but it isn't like I could google this.
What is the ` character called? In case it doesnt show up, it is the character used for inline code with markdown. Also, on most keyboards, it shares the key with ~.
I like all three answers so I made this a CW instead of accepting
All sorts of things, but in programming mostly the back-quote or backtick,
Grave (pronounced Grahv, not like the synonym for tomb) or Grave accent.
From the Jargon file, the prime nerd reference which really should be an ISO standard :-)
Common: backquote; left quote; left single quote; open quote; ; grave.
Rare: backprime; backspark; unapostrophe; birk; blugle; back tick; back glitch; push; opening single quotation mark; quasiquote.
You can use Unicode table to find name of the symbol. There are utilities which let you search it, like gucharmap. It gives U+0060 GRAVE ACCENT for this symbol.
This answer or this answer provides a good definition.
In laymen's terms "no-shift-tilde" is also useful in PHP for keeping mySQL statements from crashing on single quotes on the table name.
SELECT * from `the_table_name` WHERE id=1 // best practice
For some reason certain PHP servers will choke on this:
SELECT * from 'the_table_name' WHERE id=1 // not preferred method
This normally works, but doesn't pass nice in strings:
SELECT * from "the_table_name" WHERE id=1 // how to escape this string?
Other than that, I don't use it much.