public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: BP Jonsson <bpjonsson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Lyndon Drake <lyndon-S8RYeTzMgQ3QT0dZR+AlfA@public.gmane.org>,
	pandoc-discuss
	<pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: Going round in circles with latex output
Date: Wed, 7 Jun 2017 18:23:44 +0200	[thread overview]
Message-ID: <ad97e931-ac10-0204-d03e-c646e32e4ba1@gmail.com> (raw)
In-Reply-To: <e028cdb2-2ace-4a13-8a13-3c2858f002b1-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

Den 2017-06-06 kl. 15:26, skrev Lyndon Drake:
> Thanks for this. I'd come to the conclusion that writing a latex file and
> including the fragments that pandoc generates might be the way forward, but
> I'm also curious to know what I've been doing wrong.

You don't need to write the whole preamble by hand, just the part 
where you load and configure polyglossia and define the fonts 
needed for polyglossia.
put them in a file called for example `poly.ltx` and then run 
Pandoc with

````
pandoc -H poly.ltx --latex-engine=xelatex
````

I *think* this will also make the bidi bug go away. The 
polyglossia package loads the bidi package if needed, but bidi 
wants to be loaded after a lot of other packages which it performs 
keyhole surgery on, including longtable and even hyperref. However 
Pandoc's latex template, loads polyglossia quite early, 
alternatively to loading babel. There may be no other way to fix 
that than to use a custom template where polyglossia is loaded 
quite late, perhaps even after the header-includes, lest the 
latter also load some package which bidi wants to be loaded before 
itself. I have made such a template 
(<https://gist.github.com/bpj/5cebc975685134145cd74ca8670b1ccc>) 
If it solves the problem please let me know and I'll make a pull 
request for the change.

My custom template also includes my fontspec hack which lets you 
declare font families in your metadata like this:

````
font-families:
   - name: '\<language>font'
     font:    <Font Name>
     options:
       - <key>='<value>'
   - name: '\greekfont'
     font:    GFS Neohellenic
     options:
       - Language=Greek
       - Script=Greek
       - Scale=MatchLowercase
       - Ligatures=TeX
   - name: '\sanskritfont'
     font:    Sahadeva
     options:
       - Language=Sanskrit
       - Script=Devanagari
   - name: '\myfancyfont'
     font: My Fancy
````


> 
> No rush of course, but I'm keen to have a look at your filter and see what
> it does, 

It is now documented and uploaded:

<https://gist.github.com/bpj/02de1ed87ff8f8d0c31a43b9dcac1c80>

(Scroll down for the rendered documentation. The first code block 
should suffice to understand how it works.)

It takes some initial configuration but that should be reusable by 
including a separate YAML file on the command line with the actual 
document.




even without docs. I've also found another filter on the list back
> in 2014 from Jesse Rosenthal that looks at Unicode ranges and wraps them in
> a latex environment, which seems like a good idea (I've done this kind of
> thing in InDesign grep styles and it works well for most normal bits of
> text).
> 
> I found the lang/otherlangs documentation, but couldn't figure out from the
> manual (might just be overlooking the correct bit) how to set a div or a
> span for another language.
> 
> Part of the problem is that if I set lang and otherlangs as follows:
> 
>    lang: en-GB
>    otherlangs: [he, sy]
>    
> I get this:
> 
> ! Package bidi Error: Oops! you have loaded package longtable after bidi
> packag
> 
> e. Please load package longtable before bidi package, and then try to run
> xelat
> 
> ex on your document again.
> 
> 
> See the bidi package documentation for explanation.
> 
> Type  H <return>  for immediate help.
> 
>   ...
> 
>                                                    
> 
> l.72 \begin{document}
> 
> 
> pandoc: Error producing PDF
> 
> 
> which I guess means that some kind of strange interaction in the latex
> template is producing an undesirable latex file to feed to xelatex (maybe
> pandoc-csv2table is doing something to the produced latex?). But it kind of
> put a stop to me experimenting with the spans and divs.
> 
> Best,
> Lyndon
> 
> On Tuesday, June 6, 2017 at 1:08:48 PM UTC+1, BPJ wrote:
>>
>> You need to use the lang and otherlang variables as described in the
>> manual http://pandoc.org/MANUAL if I recall correctly.
>>
>> Alternatively/additionally write a latex file containing a preamble
>> fragment where you load polyglossia and any languages and fonts you need
>> with the options you need in the usual polyglossia/fontspec way and include
>> it with the -H option. You also need to mark spans/divs containing extra
>> languages with lang and dir attributes as appropriate. Use your browser's
>> page search function to find these terms in the manual.
>>
>> I saw your other question about font/language switching yesterday and
>> started to write some documentation for the filter I use to make those
>> things easier. Alas I couldn't finish and today there is a national holiday
>> in Sweden. I'll get back to it tomorrow. Basically you can use spans with a
>> single short class like .g for greek and the filter will inject  latex
>> markup, docx custom style names or extended (html) attributes you have
>> declared to correspond to the class in your metadata.
>>
>> I can comfort you that you are much better off than I was when I started
>> doing multilingual work with Pandoc. We had no filters, no native spans or
>> divs and no built-in multilingual/polyglossia support back then. Everything
>> had to be done in -H files and with raw latex in the markdown, which was a
>> pain because I needed to make things available in HTML as well.
>>
>> I'll also update my latex template on github which contains some stuff for
>> fontspec font loading.
>>
>> I hope this helps. I'm afraid I won't be able to check my mail for the
>> rest of the day.
>>
>>
>> tis 6 juni 2017 kl. 09:02 skrev Lyndon Drake <lyn...-S8RYeTzMgQ3QT0dZR+AlfA@public.gmane.org
>> <javascript:>>:
>>
>>> Sorry, I probably wasn't clear: I followed the instruction from Pandoc
>>> and switched to xelatex. Now I'm stuck trying to configure the language
>>> options.
>>>
>>>
>>> On Tuesday, June 6, 2017 at 7:41:32 AM UTC+1, BP wrote:
>>>
>>>> You need  the --latex-engine=xelatex option.
>>>>
>>>> tis 6 juni 2017 kl. 07:53 skrev Lyndon Drake <lyn...-S8RYeTzMgQ3QT0dZR+AlfA@public.gmane.org>:
>>>>
>>> Hi all,
>>>>>
>>>>> Many apologies as I'm sure this is all obvious once one knows, but I'm
>>>>> a bit stuck. I've got some Pandoc Markdown files which I'm trying to
>>>>> convert to PDF using Pandoc. They include various non-ascii characters, all
>>>>> in unicode. If I run:
>>>>>
>>>>> /usr/local/bin/pandoc -f
>>>>> markdown+pipe_tables+grid_tables+yaml_metadata_block --filter
>>>>> pandoc-citeproc --filter pandoc-csv2table -s -o formatted/Draft3.pdf
>>>>> text/metadata.yaml text/1-Introduction.md
>>>>>
>>>>> I get the following:
>>>>>
>>>>> ! Package inputenc Error: Unicode char ṣ (U+1E63)
>>>>>
>>>>> (inputenc)                not set up for use with LaTeX.
>>>>>
>>>>>
>>>>> See the inputenc package documentation for explanation.
>>>>>
>>>>> Type  H <return>  for immediate help.
>>>>>
>>>>>   ...
>>>>>
>>>>>                                                    
>>>>>
>>>>> l.125   Vandenhoeck \& Ruprecht, 1990), 39--62.}
>>>>>
>>>>>
>>>>> Try running pandoc with --latex-engine=xelatex.
>>>>>
>>>>> pandoc: Error producing PDF
>>>>>
>>>>>
>>>>> So the next step was to switch to xelatex based on the helpful
>>>>> suggestion from pandoc. As long as I don't try to use any babel or
>>>>> polyglossia environments, or biblatex, this works fine. But as I want to
>>>>> use both, I'm a bit stuck. First thing is that it looks like the default
>>>>> template tries to use babel rather than polyglossia if xetex is the engine.
>>>>> Is there a reason for this? (I want to use the biblatex-sbl style for my
>>>>> bibliography, and they recommend polyglossia.)
>>>>>
>>>>> I want to use English (UK) as my main language, with Hebrew and Syriac
>>>>> as other languages (I've also got some ancient Greek, but the main font
>>>>> I've chosen works fine and the output looks good for that without using a
>>>>> separate language environment).
>>>>>
>>>>> As a starting point, what language options do I set in my YAML metadata
>>>>> to enable those other two language environments, and how do I specify the
>>>>> fonts for them?
>>>>>
>>>>> Here's my YAML metadata file so far:
>>>>>
>>>>> ---
>>>>>    author: Lyndon Drake
>>>>>    documentclass: memoir
>>>>>    toc: true
>>>>>    papersize: a4
>>>>>    fontsize: 12pt
>>>>>    top-level-division: chapter
>>>>>    number-sections: true
>>>>>    mainfont: Skolar PE Light
>>>>>    mainfontoptions: Numbers=OldStyle
>>>>>    bibliography: /Users/lyndon/Documents/Media/Bibliography/0lib.bib
>>>>>    csl:
>>>>> /Users/lyndon/Documents/Media/Bibliography/society-of-biblical-literature-fullnote-bibliography.csl
>>>>>    notes-after-punctuation: true
>>>>> ---
>>>>>
>>>>> Many thanks in advance for any help on this,
>>>>> Lyndon
>>>>>
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "pandoc-discuss" group.
>>>>>
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>>>>> To post to this group, send email to pandoc-...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>>>>
>>>>
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/pandoc-discuss/89122680-f883-4853-a97f-a81861395b78%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/pandoc-discuss/89122680-f883-4853-a97f-a81861395b78%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google Groups
>>> "pandoc-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <javascript:>.
>>> To post to this group, send email to pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
>>> <javascript:>.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/pandoc-discuss/99f9330e-3a82-4a0d-8bb4-4ec2513723fe%40googlegroups.com
>>> <https://groups.google.com/d/msgid/pandoc-discuss/99f9330e-3a82-4a0d-8bb4-4ec2513723fe%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
> 

-- 
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/ad97e931-ac10-0204-d03e-c646e32e4ba1%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


  parent reply	other threads:[~2017-06-07 16:23 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-06  5:52 Lyndon Drake
     [not found] ` <89122680-f883-4853-a97f-a81861395b78-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-06  6:41   ` Melroch
     [not found]     ` <CADAJKhD0J3JG_qqs1yz5eDORPFRFJCsefUwsGq4+taYkvn95-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-06  7:01       ` Lyndon Drake
     [not found]         ` <99f9330e-3a82-4a0d-8bb4-4ec2513723fe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-06 12:08           ` BPJ
     [not found]             ` <CADAJKhAMLTJrfZG28bac8X+Sj589=vqJ18WswEax=1iEukafgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-06 13:26               ` Lyndon Drake
     [not found]                 ` <e028cdb2-2ace-4a13-8a13-3c2858f002b1-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-06 16:26                   ` Joost Kremers
     [not found]                     ` <87d1ah84m4.fsf-97jfqw80gc6171pxa8y+qA@public.gmane.org>
2017-06-06 20:51                       ` Lyndon Drake
     [not found]                         ` <2a8d8b0d-2740-4dfb-8718-f06432d6425f-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-06 21:03                           ` Lyndon Drake
2017-06-11  8:43                           ` John MacFarlane
     [not found]                             ` <20170611084305.GD95963-l/d5Ua9yGnxXsXJlQylH7w@public.gmane.org>
2017-06-11 13:28                               ` Lyndon Drake
2017-06-07 16:23                   ` BP Jonsson [this message]
     [not found]                     ` <ad97e931-ac10-0204-d03e-c646e32e4ba1-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-06-08 10:13                       ` Lyndon Drake
     [not found]                         ` <CADAJKhBNwTRaK=Htarn-YzJfCSVCeN5C-z46XBArgW1J6R3RYA@mail.gmail.com>
     [not found]                           ` <CADAJKhBNwTRaK=Htarn-YzJfCSVCeN5C-z46XBArgW1J6R3RYA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-08 17:20                             ` Melroch
     [not found]                               ` <CADAJKhD=6C2Zz0J3u2jB_7XyX+4+b4ui1bTr6wTG5kSVDHbYaA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-09  8:02                                 ` Lyndon Drake
     [not found]                                   ` <a5d78535-d049-49c9-a77b-ddfa3b226302-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-09 11:12                                     ` Melroch
     [not found]                                       ` <CADAJKhDeJ6fWqdr36Yd1fgZLbTL6FZGVPGahNN44HoezJo69dQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-10  8:38                                         ` Lyndon Drake
2017-06-07  5:43   ` iandol
     [not found]     ` <9105b544-18e3-4f40-be43-fb04c838b4de-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2017-06-07  8:35       ` Lyndon Drake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ad97e931-ac10-0204-d03e-c646e32e4ba1@gmail.com \
    --to=bpjonsson-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=lyndon-S8RYeTzMgQ3QT0dZR+AlfA@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).