Hi

I made some progress on this:

1. I got the cover page working by using the lua filter to remove all the meta data inlines then reconstructing it all as an "abstract" meta element. Handily the Abstract has Blocks not Inlines, so the custom styles work. And the TOC appears after the abstract.

2. Hard breaks remain a problem though. I can work around this on the cover page with some spacing, but that's not feasible for the rest of a typical document.
Question: is the non-support hard breaks in Pandoc an intentional position, or is this just a gap that the community would be interested in filling if someone cared enough to implement it?

One new challenge:

3. Page numbers. Can I use the lua filter to insert a page number footer in the generated docx?

regards
Alan


On Fri, May 10, 2019 at 4:29 PM Alan <alan.mcl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Hi

The lua filter approach is working reasonably well but I have a couple more in depth questions. For context, my pandoc input format is docbook generated from asciidoc.

1. Title, subtitle, author and other meta elements: how do I apply styles to them?
 - I've tried wrapping them in Spans (inside a "function Pandoc(doc)") as suggested by the custom-style docs, but they don't pick up any styles.
 - I tried turning them into Div/Para objects in the main body, but then they appear after the generated TOC.
Basically I need to support setting up a cover page followed by a TOC.

2. Page breaks/hard breaks. They don't seem to be supported by the Pandoc internal model. Any suggestions for getting around this?
Also related to the cover page need.

regards
Alan


On Mon, May 6, 2019 at 5:41 PM Alan <alan.mcl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Thanks for the reply Jesse

I did check out the custom styles, but you are right that I'd rather not embed that in every paragraph. I'm dealing with moderately large documents and it would get old pretty fast.

I hadn't considered the lua filters yet. Good idea, I will give it a try.

regards
Alan

On Mon, May 6, 2019 at 5:36 PM Jesse Rosenthal <jrosenthal@jhu.edu> wrote:
Alan McLachlan <alan.mcl-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:

> pandoc today generates the paragraph text set to "Normal"
> style, I want it to use "My Style 1" instead of Normal.

This is a job for custom-styles:
https://pandoc.org/MANUAL.html#custom-styles

So, one (not particularly user-friendly) way to do it would be to wrap
ever paragaph in a div, to give it a custom style

~~~
::: {custom-style="My Style 1"}
Here is a paragraph.
:::

::: {custom-style="My Style 1"}
Here is another.
:::
~~~

But you probably don't want to do that -- instead, it would be nice to
just write as normal:

~~~
Here is a paragraph.

Here is another.
~~~

and then have paragraphs converted on the fly. To do that, you'd use a
pandoc filter (https://pandoc.org/lua-filters.html):

~~~
function Para(blk)
   local attr = pandoc.Attr()
   attr.attributes["custom-style"] = "My Style 1"
   return pandoc.Div({blk}, attr)
end
~~~

That will convert all plain paras into a styled div. Save that in a file
(`style.lua`), and then run it on the simple markdown file:

`pandoc input.md --lua-filter=styler.lua -o output.docx`


--
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CABQ_dt_VkYEL5ED8i8Wo7GUeNA-Kgwyzjpzw2V%3DvdWYt1%2BkCLg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.