I did this with LaTeX and memoir: in my case, I only wanted a shorter title in the page headings. I kept the full title in the table of contents. These are the relevant functions from my filter:

-- 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'}

    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 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



On Wednesday, June 30, 2021 at 1:37:00 AM UTC+2 John MacFarlane wrote:

Not easy. You could write a filter that builds the
relevant section command, but that might break other
things because the LaTeX writer won't see a heading
there (not sure).

It might be a good idea to have pandoc do this automatically.

"'Nick Bart' via pandoc-discuss"
<pandoc-...@googlegroups.com> writes:

> Is there any way to have pandoc output LaTeX code like
>
> \section[Short Section Title]{Long Section Title}
>
> from pandoc markdown containing both versions as in the following (but not necessarily given in this exact syntax)?
>
> # Long Section Title {short_title="Short Section Title"}
>
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/4p2Sx0e_CqUgNm9ZcXR064fya9gybYYDVBTVMMIL9p1m2ynHgBzs30shkkVJnu0l2RqSKghQo5oi10jSV33BS6IBsvIhBhtyoExu-d3p3Kc%3D%40protonmail.com.

--
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 view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/bc3ac76b-306d-4ab4-9a33-6acdd2d2a38fn%40googlegroups.com.