On Tue, 30 Dec 2014, Piotr Kopszak wrote:

Hello list,

It looks like a bug in the filter module, but maybe I'm doing
something wrong. Any help will be greatly appreciated. When using the
\inlinepandoc command in the first paragraph below the space at the
end of the paragraph in "życiaA. Mickiewicza" is supressed when it
should be "życia A. Mickiewicza". This does not happen when using
pandoc environment. If you want to run the minimal example you have to
make sure you got the recent pandoc which supports twiki input format
and create the "output" subdirectory in your working directory.

Best

Piotr
----------------------------------------------------------------------------
\usemodule[filter]
\defineexternalfilter
 [pandoc]
 [
   filter={pandoc -f \externalfilterparameter{format} -t context
                  -o \externalfilteroutputfile},
   format=twiki,
   directory=output,
 ]
\starttext
Inne tyt.: Wizyta pana Franciszka Grzymały, Exegi monumentum aere
perennius....  Powst. Paryż, na autografie podpis: "Paryż, 12 marca
1833. Wiersze natchnione wizytą Fr. Grzymały".   Pdr: {\it Czas} 1859
nr nr 118 s. 2.  (\inlinepandoc{w artykule L*** (E.
Januszkiewicza)  "Notatki wspomnień z życia A. Mickiewicza"}).

\startpandoc
Inne tyt.: Wizyta pana Franciszka Grzymały, Exegi monumentum aere
perennius....  Powst. Paryż, na autografie podpis: "Paryż, 12 marca
1833. Wiersze natchnione wizytą Fr. Grzymały".   Pdr: {\it Czas} 1859
nr nr 118 s. 2.  (w artykule L*** (E. Januszkiewicza)
"Notatki wspomnień z życia A. Mickiewicza").
\stoppandoc
\stoptext

Sorry for the late reply.

Short answer: Change \defineexternalfilter to (add --no-wrap):

fineexternalfilter
  [pandoc]
  [
filter={pandoc --no-wrap -f \externalfilterparameter{format} -t context
                   -o \externalfilteroutputfile},
    format=twiki,
    directory=output,
  ]


Long answer: This is what is happening.

Normally, when an external filter like pandoc creates an output, it adds a `\n` at the end of the last line. This leads to an empty line when the file is read back in ConTeXt. To prevent that I set \endlinechar=-1 in the inline mode.

However, this also means that the linebreak at the end of every line is ignored. Typically this is not a problem because you expect \inline<...> snippets to be short.

But pandoc formats its output to 80 characters. So, the example that you gave is formatted as:

-----
w artykule L*** (E.Januszkiewicza) \quotation{Notatki wspomnień z życia
A. Mickiewicza}
----

When reading it, the space at the end of 'zycia' is ignored.

I can try not setting \endlinechar=-1, and adding \removeunwantedspaces after reading a file, but this will require some extensive testing. An easier solution is to add --no-wrap option to pandoc, so that pandoc does not wrap the lines in the first place.

Aditya
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to