* How to get \section[Short title]{Long title} in LaTeX output
@ 2021-06-29 15:33 'Nick Bart' via pandoc-discuss
2021-06-29 23:36 ` John MacFarlane
0 siblings, 1 reply; 6+ messages in thread
From: 'Nick Bart' via pandoc-discuss @ 2021-06-29 15:33 UTC (permalink / raw)
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw
[-- Attachment #1: Type: text/plain, Size: 763 bytes --]
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-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/4p2Sx0e_CqUgNm9ZcXR064fya9gybYYDVBTVMMIL9p1m2ynHgBzs30shkkVJnu0l2RqSKghQo5oi10jSV33BS6IBsvIhBhtyoExu-d3p3Kc%3D%40protonmail.com.
[-- Attachment #2: Type: text/html, Size: 1231 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to get \section[Short title]{Long title} in LaTeX output
2021-06-29 15:33 How to get \section[Short title]{Long title} in LaTeX output 'Nick Bart' via pandoc-discuss
@ 2021-06-29 23:36 ` John MacFarlane
[not found] ` <yh480ktulgs0oj.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: John MacFarlane @ 2021-06-29 23:36 UTC (permalink / raw)
To: 'Nick Bart' via pandoc-discuss,
pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw
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-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 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-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/4p2Sx0e_CqUgNm9ZcXR064fya9gybYYDVBTVMMIL9p1m2ynHgBzs30shkkVJnu0l2RqSKghQo5oi10jSV33BS6IBsvIhBhtyoExu-d3p3Kc%3D%40protonmail.com.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to get \section[Short title]{Long title} in LaTeX output
[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
1 sibling, 0 replies; 6+ messages in thread
From: 'Nick Bart' via pandoc-discuss @ 2021-06-30 6:53 UTC (permalink / raw)
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw
> It might be a good idea to have pandoc do this automatically.
That would be great of course. Shall I put in a feature request?
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, June 29, 2021 11:36 PM, John MacFarlane <jgm-TVLZxgkOlNX2fBVCVOL8/A@public.gmane.org> 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-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org 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-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/yh480ktulgs0oj.fsf%40johnmacfarlane.net.
--
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/a-tV5S_LgdZdS3sE6hXMHOlSqUgcH3yG-eqNN-h5iIQfg_PcorSLO-e6zg-t88nwlCQaBVODR_F2eCYOhvukfAEL0iR4eqEwqybFw5GVWTY%3D%40protonmail.com.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to get \section[Short title]{Long title} in LaTeX output
[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>
1 sibling, 1 reply; 6+ messages in thread
From: jcr @ 2021-06-30 9:54 UTC (permalink / raw)
To: pandoc-discuss
[-- Attachment #1.1: Type: text/plain, Size: 2890 bytes --]
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-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 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...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@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.
[-- Attachment #1.2: Type: text/html, Size: 4472 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to get \section[Short title]{Long title} in LaTeX output
[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
0 siblings, 1 reply; 6+ messages in thread
From: 'Nick Bart' via pandoc-discuss @ 2021-06-30 12:29 UTC (permalink / raw)
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw
[-- 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 --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: How to get \section[Short title]{Long title} in LaTeX output
2021-06-30 12:29 ` 'Nick Bart' via pandoc-discuss
@ 2021-06-30 15:04 ` jcr
0 siblings, 0 replies; 6+ messages in thread
From: jcr @ 2021-06-30 15:04 UTC (permalink / raw)
To: pandoc-discuss
[-- 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 --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-06-30 15:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-29 15:33 How to get \section[Short title]{Long title} in LaTeX output '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 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).