public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: jcr <ffi.appdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: How to get \section[Short title]{Long title} in LaTeX output
Date: Wed, 30 Jun 2021 08:04:49 -0700 (PDT)	[thread overview]
Message-ID: <20fccf69-3cde-450a-ad6f-f7c2ae9b2531n@googlegroups.com> (raw)
In-Reply-To: <Jhsov6mz1SVLhbvImsIGtDSG8qg-4qI-Zd5Qbgheu2-1jaeqQqvZoCWtG8V50fuZTwajRjw07nWkok89_GCoZbdWOh2oZ6eo_T2uyFEWAcc=@protonmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2634 bytes --]

Others can correct me if I'm wrong, but I don't think the filter has enough 
information to tell in all cases what a level 1 header corresponds to in 
LaTeX. If documentclass is specified in the metadata, you could deduce 
whether chapter or section will be selected by default. However, 
--top-level-headings (or the documentclass variable?) could override the 
metadata.

On Wednesday, June 30, 2021 at 2:30:07 PM UTC+2 Nick Bart wrote:

> @jcr - Brilliant, works like a charm. I had to make some trivial changes; 
> the version I’m using right now with the LaTeX article or scrartcl classes 
> is shown below. 
>
> One thing that would be nice to have, though, would be the ability to 
> switch automatically between a 'commands' list for book-like LaTeX classes 
> (starting with 'chapter'), and article-like classes (starting with 
> 'section'). I'll be trying to figure that out, but useful hints would be 
> welcome.
>
> -- Print a formatted warning to stderr
> function warnf (...)
>   io.stderr:write(string.format(...))
> end
> function Header (el)
>   -- Replace heading with raw LaTeX if pageheading is used to specify a
>   -- shorter form of the title to use in page headers.
>   if el.attributes.pageheading then
>     -- local commands = {'chapter', 'section', 'subsection'}
>     local commands = {'section', 'subsection'}
>     if el.level > #commands then
>       warnf('pageheading attribute not supported for level %d headings', 
> el.level)
>       return el
>     end
>     -- Produce LaTeX like pandoc does, but with two additional arguments
>     -- to specify a short for of the page heading to memoir.
>     local title = pandoc.utils.stringify(el)
>     -- local latexStr = string.format('\\%s[%s][%s]{%s}', 
> commands[el.level], title, el.attributes.pageheading, title)
>     local latexStr = string.format('\\%s[%s]{%s}', commands[el.level], 
> el.attributes.pageheading, title)
>     local label = string.format('\\label{%s}', el.identifier)
>     -- wrap in hypertarget
>     latexStr = string.format('\\hypertarget{%s}{%%\n%s%s}', el.identifier, 
> latexStr, label)
>     return pandoc.RawBlock('latex', latexStr)
>   end
> end
>
>

-- 
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 view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/20fccf69-3cde-450a-ad6f-f7c2ae9b2531n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 3581 bytes --]

      reply	other threads:[~2021-06-30 15:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-29 15:33 'Nick Bart' via pandoc-discuss
2021-06-29 23:36 ` John MacFarlane
     [not found]   ` <yh480ktulgs0oj.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2021-06-30  6:53     ` 'Nick Bart' via pandoc-discuss
2021-06-30  9:54     ` jcr
     [not found]       ` <bc3ac76b-306d-4ab4-9a33-6acdd2d2a38fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2021-06-30 12:29         ` 'Nick Bart' via pandoc-discuss
2021-06-30 15:04           ` jcr [this message]

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=20fccf69-3cde-450a-ad6f-f7c2ae9b2531n@googlegroups.com \
    --to=ffi.appdev-re5jqeeqqe8avxtiumwx3w@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).