public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: "'Nick Bart' via pandoc-discuss" <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
To: "pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org"
	<pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: How to get \section[Short title]{Long title} in LaTeX output
Date: Wed, 30 Jun 2021 12:29:57 +0000	[thread overview]
Message-ID: <Jhsov6mz1SVLhbvImsIGtDSG8qg-4qI-Zd5Qbgheu2-1jaeqQqvZoCWtG8V50fuZTwajRjw07nWkok89_GCoZbdWOh2oZ6eo_T2uyFEWAcc=@protonmail.com> (raw)
In-Reply-To: <bc3ac76b-306d-4ab4-9a33-6acdd2d2a38fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2079 bytes --]

@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/Jhsov6mz1SVLhbvImsIGtDSG8qg-4qI-Zd5Qbgheu2-1jaeqQqvZoCWtG8V50fuZTwajRjw07nWkok89_GCoZbdWOh2oZ6eo_T2uyFEWAcc%3D%40protonmail.com.

[-- Attachment #2: Type: text/html, Size: 3171 bytes --]

  parent reply	other threads:[~2021-06-30 12:29 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 [this message]
2021-06-30 15:04           ` jcr

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='Jhsov6mz1SVLhbvImsIGtDSG8qg-4qI-Zd5Qbgheu2-1jaeqQqvZoCWtG8V50fuZTwajRjw07nWkok89_GCoZbdWOh2oZ6eo_T2uyFEWAcc=@protonmail.com' \
    --to=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).