Re: [O] Enforcing newlines in plain text export

2014-09-27 Thread Richard Lawrence
Hi Kaushal, 

Kaushal kaushal.m...@gmail.com writes:

 I am requesting a consistent solution.

 If // at the end of a line inserts newline when exporting in all formats,
 then it should do the same when used in between a line too for ALL export
 formats.

 Example: #+TITLE: Line one // Line two

 I am simply trying to explain why we need another solution for the sake of
 consistency across all org exported formats.

Like I said, I agree that something like this would be useful; I
occasionally would like \\ to have more general behavior, too.
Anyway, it seems worth discussing.

My point is that this would be a new feature, which is technically
*inconsistent* with the currently-documented behavior.  Implementing it
would take some work and would involve breaking backward
compatibility. (At least in theory -- I don't know if anyone out there
relies on \\ *not* being translated when it does not appear at the end
of a line, but someone might be.)  So it's not something to be taken
lightly.

Does anyone know why the behavior of \\ is presently restricted to
appearing at the end of the line in a paragraph?  Does anyone need it to
be exported literally when it appears elsewhere?

Best,
Richard




Re: [O] Enforcing newlines in plain text export

2014-09-27 Thread Nicolas Goaziou
Hello,

Richard Lawrence richard.lawre...@berkeley.edu writes:

 Does anyone know why the behavior of \\ is presently restricted to
 appearing at the end of the line in a paragraph? 

I certainly can see a good reason for it, although I don't know if it is
the historical one.

Org syntax is primarily intended for Org documents. When in an _Org_
buffer, what would be the meaning of a line break in the middle of
a line?


Regards,

-- 
Nicolas Goaziou



Re: [O] Enforcing newlines in plain text export

2014-09-27 Thread Kaushal
I needed to have multi line titles exported in all formats consistently and
that's when I need to use '\\' mid-line.

--
Kaushal Modi
On Sep 27, 2014 5:16 PM, Nicolas Goaziou m...@nicolasgoaziou.fr wrote:

 Hello,

 Richard Lawrence richard.lawre...@berkeley.edu writes:

  Does anyone know why the behavior of \\ is presently restricted to
  appearing at the end of the line in a paragraph?

 I certainly can see a good reason for it, although I don't know if it is
 the historical one.

 Org syntax is primarily intended for Org documents. When in an _Org_
 buffer, what would be the meaning of a line break in the middle of
 a line?


 Regards,

 --
 Nicolas Goaziou



Re: [O] Enforcing newlines in plain text export

2014-09-27 Thread Alexis

Richard Lawrence writes:

 Does anyone know why the behavior of \\ is presently restricted to
 appearing at the end of the line in a paragraph?  Does anyone need it
 to be exported literally when it appears elsewhere?

When exporting code listings in any programming language which uses '\'
for escaping characters in strings, and subsequently uses '\\' to mean
literal backslash, literal export is required. For example, one might
have an Org document with Emacs Lisp source:

  -
 ' * A
 | ** B
 | #+begin_src emacs-lisp
 |   (setq my-regex (.+))
 | #+end_src
 `-


Alexis.



Re: [O] Enforcing newlines in plain text export

2014-09-26 Thread Kaushal
The reason I switched to using this {{{NEWLINE}}} macro is that I wanted
consistent results wherever I used it for any kind of export.

Example:

-
#+TITLE: First Line of Title // Second Line of Title
-

Above works for only latex  pdf exports.
HTML export of above keeps the `//` characters verbatim.

So I did the below:

-
#+MACRO: NEWLINE @@latex:\\@@ @@html:br@@
#+TITLE: First Line of Title {{{NEWLINE}}} Second Line of Title
-

The above solution looks clean to me, but now that doesn't work for ascii
exports as I don't know what to put in between @@ascii:@@ to get a
newline in ascii exports.


Interesting thing is that `//` work fine at the end of the lines.
If I have the below:

-
Some text in org file on first line //
Some text in org file on second line //
Some text in org file on third line
-

.. then the pdf, html, ascii exports interpret `//` as a newline character.

For consistency, now I use:

-
Some text in org file on first line {{{NEWLINE}}}
Some text in org file on second line {{{NEWLINE}}}
Some text in org file on third line
-

I am just waiting to know the magic characters for ascii exports that can
give me newlines by using the above macro. Then I don't have to worry
whether I am using `//` at the end of the line or in the middle of a line.

The end result would be:

-
#+MACRO: NEWLINE @@latex:\\@@ @@html:br@@
@@ascii:NEWLINE_CHARACTERS_FOR_ASCII_EXPORT@@
#+TITLE: First Line of Title {{{NEWLINE}}} Second Line of Title
Some text in org file on first line {{{NEWLINE}}}
Some text in org file on second line {{{NEWLINE}}}
Some text in org file on third line
-







--
Kaushal Modi

On Fri, Sep 26, 2014 at 11:52 AM, Richard Lawrence 
richard.lawre...@berkeley.edu wrote:

 Hi Kaushal,

 I am forwarding your message to the Org mode list; you only sent it to
 me and Nicolas...

 Kaushal kaushal.m...@gmail.com writes:

  I came across
  https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html
  through this emacs SE page:
 
 http://emacs.stackexchange.com/questions/255/new-line-in-title-of-an-org-mode-exported-html-document
 
  The question I had asked on stackexchange was: How to export a mid-line
  newline consistently in all formats.

 In paragraphs, all you need to do is end a line with \\ to force a
 line break.  This works for LaTeX, HTML, and plain text export, at least.

 This doesn't work in other kinds of syntax, like headlines, but you may
 not need it there.

  But I couldn't figure out how to convey a newline character when
 exporting
  to plain text (ascii).
 
  I tried,
 
  #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@ @@ascii:\n@@
 
  But that simply puts out \n verbatim in the exported txt file.

 I don't know the answer to this specific issue---you might need to
 create a custom export filter---but hopefully you can just use \\
 instead of a macro like this.

 Do you need to enforce line breaks *outside of* a paragraph in plain
 text export?  If so, what case are you worried about specifically?

 Best,
 Richard

 OpenPGP Key ID: CF6FA646
 Fingerprint: 9969 43E1 CF6F A646

 (See http://www.ocf.berkeley.edu/~rwl/encryption.html for more
 information.)



Re: [O] Enforcing newlines in plain text export

2014-09-26 Thread Kaushal
 Do you need to enforce line breaks *outside of* a paragraph in plain
 text export?  If so, what case are you worried about specifically?

I forgot to answer this question.. I need to force line breaks in cases
like these

-
For example, to execute the =example_1= test and run in the {{{NEWLINE}}}

=/some/long/path/that/wouldn't/fit/along/with/the/above/line/in/the/same/line=
directory,
do the following..
-

In the above example, org-export will not wrap the text between the
verbatim formatting characters =.
To ensure that the exported formats (html/pdf/ascii) look clean, I have to
force a newline character just before that long string.

Now using \\ here instead of {{{NEWLINE}}} works but then I have to
ensure that I place the \\ character at the very end. If they are placed
mid-line then they will be interpreted as newline by latex but simply \\
character by html exporter.

For consistency, the {{{NEWLINE}}} approach looks better; hoping that
org-mode will support a special newline character for ascii exports at some
time:

-
#+MACRO: NEWLINE @@latex:\\@@ @@html:br@@ @@ascii:NEWLINE_CHARACTERS_
FOR_ASCII_EXPORT@@
-



--
Kaushal Modi

On Fri, Sep 26, 2014 at 12:04 PM, Kaushal kaushal.m...@gmail.com wrote:

 The reason I switched to using this {{{NEWLINE}}} macro is that I wanted
 consistent results wherever I used it for any kind of export.

 Example:

 -
 #+TITLE: First Line of Title // Second Line of Title
 -

 Above works for only latex  pdf exports.
 HTML export of above keeps the `//` characters verbatim.

 So I did the below:

 -
 #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@
 #+TITLE: First Line of Title {{{NEWLINE}}} Second Line of Title
 -

 The above solution looks clean to me, but now that doesn't work for ascii
 exports as I don't know what to put in between @@ascii:@@ to get a
 newline in ascii exports.


 Interesting thing is that `//` work fine at the end of the lines.
 If I have the below:

 -
 Some text in org file on first line //
 Some text in org file on second line //
 Some text in org file on third line
 -

 .. then the pdf, html, ascii exports interpret `//` as a newline character.

 For consistency, now I use:

 -
 Some text in org file on first line {{{NEWLINE}}}
 Some text in org file on second line {{{NEWLINE}}}
 Some text in org file on third line
 -

 I am just waiting to know the magic characters for ascii exports that can
 give me newlines by using the above macro. Then I don't have to worry
 whether I am using `//` at the end of the line or in the middle of a line.

 The end result would be:

 -
 #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@
 @@ascii:NEWLINE_CHARACTERS_FOR_ASCII_EXPORT@@
 #+TITLE: First Line of Title {{{NEWLINE}}} Second Line of Title
 Some text in org file on first line {{{NEWLINE}}}
 Some text in org file on second line {{{NEWLINE}}}
 Some text in org file on third line
 -







 --
 Kaushal Modi

 On Fri, Sep 26, 2014 at 11:52 AM, Richard Lawrence 
 richard.lawre...@berkeley.edu wrote:

 Hi Kaushal,

 I am forwarding your message to the Org mode list; you only sent it to
 me and Nicolas...

 Kaushal kaushal.m...@gmail.com writes:

  I came across
  https://lists.gnu.org/archive/html/emacs-orgmode/2014-09/msg00466.html
  through this emacs SE page:
 
 http://emacs.stackexchange.com/questions/255/new-line-in-title-of-an-org-mode-exported-html-document
 
  The question I had asked on stackexchange was: How to export a mid-line
  newline consistently in all formats.

 In paragraphs, all you need to do is end a line with \\ to force a
 line break.  This works for LaTeX, HTML, and plain text export, at least.

 This doesn't work in other kinds of syntax, like headlines, but you may
 not need it there.

  But I couldn't figure out how to convey a newline character when
 exporting
  to plain text (ascii).
 
  I tried,
 
  #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@ @@ascii:\n@@
 
  But that simply puts out \n verbatim in the exported txt file.

 I don't know the answer to this specific issue---you might need to
 create a custom export filter---but hopefully you can just use \\
 instead of a macro like this.

 Do you need to enforce line breaks *outside of* a paragraph in plain
 text export?  If so, what case are you worried about specifically?

 Best,
 Richard

 OpenPGP Key ID: CF6FA646
 Fingerprint: 9969 43E1 CF6F A646

 (See http://www.ocf.berkeley.edu/~rwl/encryption.html for more
 information.)





Re: [O] Enforcing newlines in plain text export

2014-09-26 Thread Richard Lawrence
Kaushal kaushal.m...@gmail.com writes:

 Interesting thing is that `\\` work fine at the end of the lines.

Yes, this is the behavior documented in the manual.

 I need to force line breaks in cases like these

 -
 For example, to execute the =example_1= test and run in the {{{NEWLINE}}}

 =/some/long/path/that/wouldn't/fit/along/with/the/above/line/in/the/same/line=
 directory,
 do the following..
 -

 In the above example, org-export will not wrap the text between the
 verbatim formatting characters =.
 To ensure that the exported formats (html/pdf/ascii) look clean, I have to
 force a newline character just before that long string.

 Now using \\ here instead of {{{NEWLINE}}} works but then I have to
 ensure that I place the \\ character at the very end. If they are placed
 mid-line then they will be interpreted as newline by latex but simply \\
 character by html exporter.

As you say, \\ at the end of the line works fine in this case.  So it
seems you do not have a need for another solution.

 For consistency, the {{{NEWLINE}}} approach looks better; hoping that
 org-mode will support a special newline character for ascii exports at some
 time:

 -
 #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@ @@ascii:NEWLINE_CHARACTERS_
 FOR_ASCII_EXPORT@@
 -

This would really not be a great solution, and I don't think you should
expect Org mode to support it.  If you really need something like this,
you could write an export filter for yourself (e.g., one that replaces
the string ASCII_NEWLINE_CHARACTER with \n in the exported buffer).
See the Advanced configuration section of the Exporting chapter in the
manual.

A better and more general solution, I think, would be to allow \\ to
be used in other contexts, such as in headlines, title/author/date
declarations, etc.  But that is a change to the currently documented
syntax, and it is probably a fair amount of work to implement, so it
probably isn't going to happen unless a variety of users really need it
and the maintainers think it would be an improvement to Org.
 
Best,
Richard



Re: [O] Enforcing newlines in plain text export

2014-09-26 Thread Kaushal
I am requesting a consistent solution.

If // at the end of a line inserts newline when exporting in all formats,
then it should do the same when used in between a line too for ALL export
formats.

Example: #+TITLE: Line one // Line two

I am simply trying to explain why we need another solution for the sake of
consistency across all org exported formats. But I understand if the org
team doesn't think it worthwhile to implement.

I'll look into the export filter configuration.

Thanks.
Kaushal
On Sep 26, 2014 8:47 PM, Richard Lawrence richard.lawre...@berkeley.edu
wrote:

 Kaushal kaushal.m...@gmail.com writes:

  Interesting thing is that `\\` work fine at the end of the lines.

 Yes, this is the behavior documented in the manual.

  I need to force line breaks in cases like these
 
  -
  For example, to execute the =example_1= test and run in the {{{NEWLINE}}}
 
 
 =/some/long/path/that/wouldn't/fit/along/with/the/above/line/in/the/same/line=
  directory,
  do the following..
  -
 
  In the above example, org-export will not wrap the text between the
  verbatim formatting characters =.
  To ensure that the exported formats (html/pdf/ascii) look clean, I have
 to
  force a newline character just before that long string.
 
  Now using \\ here instead of {{{NEWLINE}}} works but then I have to
  ensure that I place the \\ character at the very end. If they are
 placed
  mid-line then they will be interpreted as newline by latex but simply
 \\
  character by html exporter.

 As you say, \\ at the end of the line works fine in this case.  So it
 seems you do not have a need for another solution.

  For consistency, the {{{NEWLINE}}} approach looks better; hoping that
  org-mode will support a special newline character for ascii exports at
 some
  time:
 
  -
  #+MACRO: NEWLINE @@latex:\\@@ @@html:br@@ @@ascii:NEWLINE_CHARACTERS_
  FOR_ASCII_EXPORT@@
  -

 This would really not be a great solution, and I don't think you should
 expect Org mode to support it.  If you really need something like this,
 you could write an export filter for yourself (e.g., one that replaces
 the string ASCII_NEWLINE_CHARACTER with \n in the exported buffer).
 See the Advanced configuration section of the Exporting chapter in the
 manual.

 A better and more general solution, I think, would be to allow \\ to
 be used in other contexts, such as in headlines, title/author/date
 declarations, etc.  But that is a change to the currently documented
 syntax, and it is probably a fair amount of work to implement, so it
 probably isn't going to happen unless a variety of users really need it
 and the maintainers think it would be an improvement to Org.

 Best,
 Richard