[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Smart quotes not working correctly with single quotes
From: |
Andreas Gösele |
Subject: |
Re: Smart quotes not working correctly with single quotes |
Date: |
Sat, 29 May 2021 17:35:23 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi,
thanks to Albert for pointing me to pandoc-quotes.lua.
It doesn't take care of apostrophes so I wrote my own very simple pandoc
lua filter:
text = require 'text'
function Str (s)
s.text = pandoc.pipe("sed", {"-e","s/'/’/"}, s.text)
return s
end
Together with pandoc-quotes.lua and "-M lang=de" this gives the desired
result for odt and html.
For latex there was no problem with the apostrophes, but for some reason
(I don't understand) pandoc-quotes.lua with lang=de translates closing
quotes into "``" and "`" instead of "“" and "‘". (The opening quotes are
correct and in pandoc-quotes.lua the "de" entry correctly has "“" and
"‘".) This can lead to something like "```" if inner quotes are
immediately followed by outer quotes which LaTeX translates to "“‘"
instead of "‘“".
To solve this I created a meta file with:
---
quot-marks:
- „
- “
- ‚
- ‘
...
(The important thing being that there is a unicode "ZERO WIDTH SPACE"
(U+200B) in front of the second entry.)
I also put \DeclareUnicodeCharacter{200B}{{\hskip 0pt}} into
default.latex.
Using the meta-file with pandoc-quotes.lua and "-V lang=de" leads to
correctly nested quotes also for latex.
Thanks again to everybody!
Andreas
Andreas Gösele <agoesele@sju.edu> writes:
> Albert Krewinkel <albert+org-mode@zeitkraut.de> writes:
>
>> Andreas Gösele <agoesele@sju.edu> writes:
>>
>>> [...] I tried to convert the LaTeX document with pandoc, tex4h and
>>> latex2html to odt and html but none of them produces the correct
>>> output.
>>>
>>> So I'm wondering whether there is any way to make org export to
>>> recognize single quotes also outside from double quote. It should be
>>> possible as inner quotes is not the only use of simple quotes.
>>
>> I apologize for the non-Emacs solution, but you can use pandoc in
>> combination with the following Lua filter to get the desired result:
>> https://github.com/pandoc/lua-filters/tree/master/pandoc-quotes.lua
>> For LaTeX output, you can also pass -Vcsquotes as a parameter to force
>> pandoc to make use of the csquotes package. Both should give you the
>> desired results.
>
> Thanks for the suggestion. I would be happy to use pandoc.
>
> I tried it and it works well for quotes (double and single). But the
> apostrophe only is correctly treated if I convert to LaTeX/PDF. (That's
> because LaTeX transforms the "typewriter apostrophe" into the correct
> typographic apostrophe.)
>
> From:
>
> #+LANGUAGE: de
> #+OPTIONS: ':t
>
> #+OPTIONS: toc:nil
> It's a 'test'.
>
> I get for html/odt:
>
> It's a ‚test‘.
>
> But I should get:
>
> It’s a ‚test‘.
>
> Directly using the org export I get:
>
> It’s a ’test’.
>
> So with pandoc and the Lua filter the single quotes are correct, with
> the direct export from org the apostrophe is correct.
>
> Is there a way with pandoc to get correct quotes and apostrophes?
>
> Thanks again!
>
> Andreas
- Smart quotes not working correctly with single quotes, Andreas Gösele, 2021/05/27
- Re: Smart quotes not working correctly with single quotes, Nicolas Goaziou, 2021/05/28
- Re: Smart quotes not working correctly with single quotes, Albert Krewinkel, 2021/05/28
- Re: Smart quotes not working correctly with single quotes, Andreas Gösele, 2021/05/28
- Re: Smart quotes not working correctly with single quotes,
Andreas Gösele <=
- Re: Smart quotes not working correctly with single quotes, Nicolas Goaziou, 2021/05/28
- Re: Smart quotes not working correctly with single quotes, Juan Manuel Macías, 2021/05/28
- Re: Smart quotes not working correctly with single quotes, Andreas Gösele, 2021/05/28