* 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
[parent not found: <yh480ktulgs0oj.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>]
* 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
[parent not found: <bc3ac76b-306d-4ab4-9a33-6acdd2d2a38fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* 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).