LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 05-30-2016, 08:54 PM   #1
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Rep: Reputation: 12
Lightweight Markup for paragraph writing


For a while, I've been composting on some possible ideas for a book, and am ready to make an attempt at putting some down. However, I've been unable to find appropriate software to do so. I find full-on word processors to be obnoxious, but don't have anything I like better. Whenever I write anything, from college essays to notes-to-self, I find myself struggling with the fact that typical rich text editors are designed to open only one document at once. I need *tabs* or a *treeview sidebar*. The bloat is also an issue.

Recently, I've become aware of lightweight markup languages such as Markdown, and I *really* like the WYSIWYM ideal. However, the sheer number of languages has made it hard to determine which fits my needs.

For a while, I was looking at Markdown. I haven't discarded it yet, but there's one major usability problem. There is no way to visually separate paragraphs while I'm working other than double newlines (typing return twice). And correct me if this is wrong, but Markdown requires double newlines in order to render a paragraph break at all. This is problematic; single newlines and double newlines have different meanings in my head. Single newlines mark a standard paragraph break, and double newlines mark a "scene break" or "section break" as they create an interruption in the flow of the text. I could use double and *triple* newlines but that would be annoying with my screen size. My ideal solution would be indenting after newlines to create traditional paragraphs, but Markdown sees this as a code block. And single newlines are ignored completely.

**Question:**
Is there an alternative lightweight markup language that treats whitespace and line breaks EXACTLY the way plain ASCII does? As far as I'm concerned for drafting, anything beyond Italic text, Bold text, and a few levels of headings is a necessary evil.

Also, any ideas on this would be welcome: In KDE Kate, *blah* has proper syntax highlighting in Markdown, but "blah blah *blah*" does not, until I add a space between the asterisk and end quote. Is this intended Markdown behavior, or just an artifact of Kate itself (in which case I'll just ignore it)?

A related issue: I suspect that I would benefit from organizational tools like Manuskript or Plume Creator, but they do NOT play nice with dark themes, which I need for the sake of my eyeballs and sanity. Are there any similar tools in some PPA somewhere?

Last edited by Yaractys; 06-05-2016 at 11:34 AM. Reason: clarification of bad communication
 
Old 05-30-2016, 09:06 PM   #2
frankbell
LQ Guru
 
Registered: Jan 2006
Location: Virginia, USA
Distribution: Slackware, Ubuntu MATE, Mageia, and whatever VMs I happen to be playing with
Posts: 19,335
Blog Entries: 28

Rep: Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144Reputation: 6144
A local college professor who occasionally attends my LUG uses LaTeX for his writing projects.
 
1 members found this post helpful.
Old 05-30-2016, 09:20 PM   #3
astrogeek
Moderator
 
Registered: Oct 2008
Distribution: Slackware [64]-X.{0|1|2|37|-current} ::12<=X<=15, FreeBSD_12{.0|.1}
Posts: 6,269
Blog Entries: 24

Rep: Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196
You may be asking too much of a simple markup language. It seems to me that you have entered the realm of typography (but I do not claim any real expertise on the subject, just my own experience).

If that is the case, frankbell's suggestion of LaTeX is the right direction to go, although you may quickly find yourself beyond the realm of "simple" markup.

But - if you want to explore LaTeX the easy way, install the WYSIWYM LaTeX based editor LyX and give it a try. I use it for all my own typeset quality document editing and really like it. It can be as simple (or as complex) as your actual needs, from plain text to full LaTeX markup, and everything in between.

Last edited by astrogeek; 05-30-2016 at 09:22 PM. Reason: tpos, typs, typos
 
1 members found this post helpful.
Old 05-31-2016, 02:35 AM   #4
beachboy2
Senior Member
 
Registered: Jan 2007
Location: Wild West Wales, UK
Distribution: Linux Mint 21 MATE, EndeavourOS, antiX, MX Linux
Posts: 3,972
Blog Entries: 33

Rep: Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465Reputation: 1465
Just to say thank you to frankbell and astrogeek for providing information on LaTeX and LyX.

I had never come across either of them previously.
 
Old 05-31-2016, 02:41 AM   #5
astrogeek
Moderator
 
Registered: Oct 2008
Distribution: Slackware [64]-X.{0|1|2|37|-current} ::12<=X<=15, FreeBSD_12{.0|.1}
Posts: 6,269
Blog Entries: 24

Rep: Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196
You are welcome!

LyX has a small learning curve, be sure to follow the built-in tutorials as a great intro!
 
Old 05-31-2016, 02:47 AM   #6
notKlaatu
Senior Member
 
Registered: Sep 2010
Location: Lawrence, New Zealand
Distribution: Slackware
Posts: 1,077

Rep: Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732
It does seem that modern typography eschews the traditional tabbed lead sentence to a paragraph.

Back when I cared about style, I used Docbook, which is styled by XSL, so you can impose indentation, govern space between paragraphs, and pretty much anything else you want, but there's definitely a learning curve to both XML and XSL, to say nothing of getting the thing built in the end. But I figured I'd mention it, since it is such a powerful system.

Now I just use Sphinx and reStructured Text (a kind of less-annoying, über-markdown) and let the styling happen according to whatever template I have on hand.
 
Old 05-31-2016, 06:17 PM   #7
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Original Poster
Rep: Reputation: 12
It seems I forgot to add some pretty important stuff. Edited main post.
 
Old 05-31-2016, 06:31 PM   #8
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Original Poster
Rep: Reputation: 12
Quote:
Originally Posted by astrogeek View Post
You may be asking too much of a simple markup language. It seems to me that you have entered the realm of typography (but I do not claim any real expertise on the subject, just my own experience).

If that is the case, frankbell's suggestion of LaTeX is the right direction to go, although you may quickly find yourself beyond the realm of "simple" markup.

But - if you want to explore LaTeX the easy way, install the WYSIWYM LaTeX based editor LyX and give it a try. I use it for all my own typeset quality document editing and really like it. It can be as simple (or as complex) as your actual needs, from plain text to full LaTeX markup, and everything in between.
Too much of a simple markup language... Perhaps you're right, but ultimately, I don't give a $#!% whether I actually have paragraph spacing per se, as I'm just going to dump it all into epub or docx format when I'm ready to finalize. I'm basically looking for a way to use markup in such a way that I can visually distinguish paragraphs *while I'm working* without double newlines. In all the books and articles I read, single newlines are your typical paragraph breaks. Double newlines are specifically reserved for scene breaks or more drastic topic changes. This seems like a very good convention, so that's the way I write too.
Basically, Markdown fails at its goal of being human-readable by leaving no way to distinguish paragraphs. If it simply ignored *any and all* whitespace characters and used actual punctuation for code blocks, it would be perfect, as I could then use indentation for that.

I've actually used LyX and loved it, but found it too limiting that there wasn't a treeview sidebar, tabs, or other way of managing multiple open files in one window. This is one of my biggest beefs with word processors in general.

Last edited by Yaractys; 05-31-2016 at 06:36 PM.
 
Old 05-31-2016, 06:38 PM   #9
astrogeek
Moderator
 
Registered: Oct 2008
Distribution: Slackware [64]-X.{0|1|2|37|-current} ::12<=X<=15, FreeBSD_12{.0|.1}
Posts: 6,269
Blog Entries: 24

Rep: Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196Reputation: 4196
Quote:
Originally Posted by Yaractys View Post
It seems I forgot to add some pretty important stuff. Edited main post.
LyX does support tabbed multi-document environment. Tree-view only in the sense of directory structure in the file manager dialog.

Just to state more clearly what has been said in previous posts...

LaTeX is truly the markup language to use for professional quality document production. You don't have to use all of it and it can really be simple enough to use for manual markup. Thousands of document templates can be found, and you can easily make or adapt your own, which gives you ultimate control of document appearance.

LyX is a GUI front-end for LaTeX documents. It produces and saves its files in LaTeX markup, but it isolates you from actually writing much of that markup yourself by providing common elements such as chapter and section headngs, image and table inserts, etc. Two prime features that I frequently rely on are its ability to generate a linked table of contents and indexes for my PDFs.

So, LaTeX is the markup, LyX is the tool. It will have a small learning curve, but not bad, and it comes with interactive tutorial documents that will guide you quickly to the main features.

Good luck!

*** We crossed paths in the cybersphere, but comments still valid I think.

Last edited by astrogeek; 05-31-2016 at 06:44 PM. Reason: tpos, typs, typos - cross posted with OP
 
Old 05-31-2016, 08:40 PM   #10
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Original Poster
Rep: Reputation: 12
Quote:
Originally Posted by astrogeek View Post
LyX does support tabbed multi-document environment. Tree-view only in the sense of directory structure in the file manager dialog.

Just to state more clearly what has been said in previous posts...

LaTeX is truly the markup language to use for professional quality document production. You don't have to use all of it and it can really be simple enough to use for manual markup. Thousands of document templates can be found, and you can easily make or adapt your own, which gives you ultimate control of document appearance.

LyX is a GUI front-end for LaTeX documents. It produces and saves its files in LaTeX markup, but it isolates you from actually writing much of that markup yourself by providing common elements such as chapter and section headngs, image and table inserts, etc. Two prime features that I frequently rely on are its ability to generate a linked table of contents and indexes for my PDFs.

So, LaTeX is the markup, LyX is the tool. It will have a small learning curve, but not bad, and it comes with interactive tutorial documents that will guide you quickly to the main features.

Good luck!

*** We crossed paths in the cybersphere, but comments still valid I think.
Exactly. I can definitely see the appeal of LyX and LaTeX if you are going for "professional quality document production", but that's not what I'm going for with this question. I'm looking for a way to spew as much information out of my head onto the screen as fast as possible, in as organized a way as possible at that speed. The whole thing about line spacing OR indenting is *purely* for the sake of me being able to read my own writing while I'm writing it, especially rapid-fire character dialogue. Indenting would actually be preferable to line spacing; I could deal with both, but I only want paragraph spacing if it is a *display setting* only, and is *not* encoded in the actual produced file.

The reason I like lightweight markup in the first place is that it is portable across multiple editors and has as few moving parts as possible. LyX is great for finishing projects, but for drafting, it is massive overkill.
The more complex a language gets, the less human-readable it gets. LaTeX is great, but is little better than HTML for readability. It can be *made* readable through a front-end like LyX, but that results in something little less bloated than rich text.

The most elegant solution would probably be an ultra-light markup (maybe slightly lighter than Markdown!) that ignores whitespace.
 
Old 05-31-2016, 09:48 PM   #11
notKlaatu
Senior Member
 
Registered: Sep 2010
Location: Lawrence, New Zealand
Distribution: Slackware
Posts: 1,077

Rep: Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732Reputation: 732
You could use markdown or similar, but apply your own rule before processing.

For instance,

Code:
sed -e 's/^\t/\n\n/g' chapter1.md | pandoc -f markdown -t epub3 -o chapter1.epub
or whatever. That way you could have you single-linebreaks and indetation while you write, but still conform to markdown's syntax for processing.

Last edited by notKlaatu; 05-31-2016 at 09:50 PM.
 
Old 06-01-2016, 12:13 AM   #12
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Original Poster
Rep: Reputation: 12
Quote:
Originally Posted by notKlaatu View Post
You could use markdown or similar, but apply your own rule before processing.

For instance,

Code:
sed -e 's/^\t/\n\n/g' chapter1.md | pandoc -f markdown -t epub3 -o chapter1.epub
or whatever. That way you could have you single-linebreaks and indetation while you write, but still conform to markdown's syntax for processing.
Is there a way to apply custom processing to some editor's syntax highlighting? I've tried to use Atom, but it auto-indents every wrapped line of a paragraph when I indent the first, because it treats the paragraph as a single line... gEdit and Kate don't blow up as spectacularly, but they have their own problems.

In the interest of full disclosure, the code you gave is pretty much gibberish for me. I recognize most of the words, but the flags (the important parts) are a little over my head. Where should I look for the relevant information?
 
Old 06-01-2016, 12:48 AM   #13
a4z
Senior Member
 
Registered: Feb 2009
Posts: 1,727

Rep: Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742Reputation: 742
Quote:
Originally Posted by Yaractys View Post
...... This is problematic; single newlines and double newlines have different meanings in my head.....
not a big problem at all, after a half day of real work with any of the existing markup languages you head adopts.
the more problem is that there are different markdown dialects and tools that might handle that type of line break different.

in asciidoctor a + at the end is a newline, with vim there is even highlighting for it, the last + followed by nothing is red, for example.
works good.

I less like the 2 space approach for a new line, even if editors can highlight trailing whitespaces and therefore visualize such stuff, but I think 2 of a kind you do not see is a bad idea.
than there are dialects, like markdown here, or markua, that handle line breaks as they appear, no need for double space, very confusing

what is also a problem for me with markdown, there is no 'standard' for a page break, pandoc has something, an other tool possible something else,
but if you generate pdf you might want to decide where your page breaks are.
that's also a reason why I like asciidoctor more than others, beside the fact that it's, compared to pandoc for example, so easy to install.

and features like asciidoctor-diagram, the possibility to make ditaa and plantuml diagrams in the document are other points for me that speak for asciidoctor.

yea, I really like asciidoctor
 
Old 06-01-2016, 12:19 PM   #14
Yaractys
Member
 
Registered: Oct 2013
Posts: 48

Original Poster
Rep: Reputation: 12
Quote:
Originally Posted by a4z View Post
not a big problem at all, after a half day of real work with any of the existing markup languages you head adopts.
the more problem is that there are different markdown dialects and tools that might handle that type of line break different.

in asciidoctor a + at the end is a newline, with vim there is even highlighting for it, the last + followed by nothing is red, for example.
works good.

I less like the 2 space approach for a new line, even if editors can highlight trailing whitespaces and therefore visualize such stuff, but I think 2 of a kind you do not see is a bad idea.
than there are dialects, like markdown here, or markua, that handle line breaks as they appear, no need for double space, very confusing

what is also a problem for me with markdown, there is no 'standard' for a page break, pandoc has something, an other tool possible something else,
but if you generate pdf you might want to decide where your page breaks are.
that's also a reason why I like asciidoctor more than others, beside the fact that it's, compared to pandoc for example, so easy to install.

and features like asciidoctor-diagram, the possibility to make ditaa and plantuml diagrams in the document are other points for me that speak for asciidoctor.

yea, I really like asciidoctor
I actually looked at asciidoc and asciidoctor; they looked pretty promising initially, but I eventually set them aside for not being designed for the type of writing I do.

I'm not sure I communicated the newline problem effectively... When I say "double newline," I'm not talking about double-space for a newline. I'm talking about hitting the "return" key twice so there is extra visual space between paragraphs. I'm not sure what you mean by "handling newlines as they appear," but if you mean using the "return" character, I don't find that confusing at all; I use it to communicate essential information to myself. For me, the *amount* of space between paragraphs has semantic meaning. Using a "double newline" (return twice, full line of empty space) is how I (and all the books I read) mark a "scene break" or major topic change, and "single newline" (return once, no space) signifies a more standard paragraph break.

I think I also miscommunicated the idea of "ignoring whitespace." I'm not talking about something that goes all nuts with using punctuation for everything like replacing "return" with "+"; I'm talking about something that *treats any and all whitespace characters exactly how plain ascii text does.* E.g. a newline character is interpreted as a newline, a hard or soft indent is interpreted as a hard or soft indent, etc.

In Markdown, the lack of ability to indent paragraphs makes it impossible to visually separate them *without* a "double newline", as indentation is interpreted as a code block. Normally, I wouldn't care, but.. *character dialogue*. Each character's speech is a new paragraph a la typical conventions, but I can't afford to leave a blank line between each one to be able to visually distinguish them. Without some way to indent, "single newlines" are all but invisible, and I am restricted to using the word "said" (or something like that) for *every single line*. In two-character dialogue, this sounds very wrong.

What I'm looking for is a markup language that is, like Markdown, *designed to be readable by people who have NO idea what markup is.* Markdown simply fails at this; the lack of indentation means that my eyes can't separate paragraphs while I'm reading my writing, so I am constantly fishing around for my place.
 
Old 06-02-2016, 11:29 AM   #15
DavidMcCann
LQ Veteran
 
Registered: Jul 2006
Location: London
Distribution: PCLinuxOS, Debian
Posts: 6,142

Rep: Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314Reputation: 2314
Quote:
Originally Posted by Yaractys View Post
… the lack of indentation means that my eyes can't separate paragraphs while I'm reading my writing, so I am constantly fishing around for my place.
Which is why I've always written with a word-processor!
 
  


Reply

Tags
writing



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Emacs: writing an anti fill-paragraph function TheLexx Linux - Software 2 06-15-2016 07:12 PM
LXer: Markup lowdown: 4 markup languages every team should know LXer Syndicated Linux News 0 08-26-2015 10:41 AM
Lightweight markup languages Soderlund General 1 07-03-2014 11:34 AM
LXer: Lightweight Markup Languages LXer Syndicated Linux News 0 09-22-2013 03:31 AM
[SOLVED] No rule to make target 'Markup.cpp', needed by `Markup.o'. Stop. shamjs Programming 11 12-10-2011 10:51 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 03:07 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration