From: Sukil Etxenike arizaleta <sukiletxe-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
Subject: Re: AW: Changing colons to full-stops in titles
Date: Fri, 1 Jul 2022 19:28:48 +0200 [thread overview]
Message-ID: <b77d6ecf-8648-d6bc-3818-5a44cadd8a48@gmail.com> (raw)
In-Reply-To: <6621a84d-37f3-6741-bb0a-d4bfd6dac4bf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 13440 bytes --]
Woops, I mean this one (upper, not lower), and I needed a colon right
before it, not a period):
el.title = pandoc.Str(string.gsub(stringify(el.title), ': (%l)',
'. %1':upper()))
Hth,
Sukil
El 01/07/2022 a las 18:54, Sukil Etxenike arizaleta escribió:
>
> Denis, you beat me to it (I forgot about stringify and I ws not making
> progress).
>
> El 01/07/2022 a las 18:23, John Carter Wood escribió:
>
>> would this also ensure that the first word after the dot is capitalised?
>
> No, it won't ensure that the first character after the full stop is a
> capital. For that, you can change this line:
>
> el.title = pandoc.Str(string.gsub(stringify(el.title), ':', '.'))
>
> With this one (haven't tested it but I think it should work):
>
> el.title = pandoc.Str(string.gsub(stringify(el.title), ': (%l)',
> '. %1'.lower()))
>
> Hth,
>
> Sukil
>
>
> El 01/07/2022 a las 18:40, denis.maier-NSENcxR/0n0@public.gmane.org escribió:
>>
>> A slightly more reliable version:
>>
>> ```
>>
>> local stringify = pandoc.utils.stringify
>>
>> function Meta(m)
>>
>> if m.references ~= nil then
>>
>> for _, el in ipairs (m.references) do
>>
>> -- print(stringify(el.title))
>>
>> el.title = pandoc.Str(string.gsub(stringify(el.title), ': ', '. '))
>>
>> -- print(el.title)
>>
>> end
>>
>> end
>>
>> return m
>>
>> end```
>>
>> (This won’t replace colons in biblical references, e.g. Gen 1:1)
>>
>> You can test with this file :
>>
>> ```markdown
>>
>> ---
>>
>> references:
>>
>> - type: book
>>
>> id: doe
>>
>> author:
>>
>> - family: Doe
>>
>> given: Jane
>>
>> issued:
>>
>> date-parts:
>>
>> - - 2022
>>
>> title: 'A book: with a subtitle and a reference to Gen 1:1, but
>> that is not a problem'
>>
>> publisher: 'Whatever press'
>>
>> lang: de-De
>>
>> ...
>>
>> test [@doe]
>>
>> ```
>>
>> The filter itself does not cover capitalization. For some reason,
>> pandoc or citeproc applies title-case transformation here. I don’t
>> think it should though.
>>
>> *Von:*pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
>> <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> *Im Auftrag von *John Carter Wood
>> *Gesendet:* Freitag, 1. Juli 2022 18:24
>> *An:* pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
>> *Betreff:* Re: Changing colons to full-stops in titles
>>
>> That's very interesting, thanks! I'll try it out when I get a chance
>> in the coming days.
>>
>> I have thought about this issue of false positives while thinking
>> about the option of some kind of filter. But...I think they would be
>> very rare. I have a hard time thinking of a title with a colon in it
>> that shouldn't be -- in this case -- be turned into a dot. At least,
>> I don't have anything in my 1,200 references where I can see that
>> that wouldn't apply.
>>
>> Although, of course, I'm sure there are some out there...
>>
>> Just a question: would this also ensure that the first word after the
>> dot is capitalised? Or does that open a new series of problems? :-)
>>
>>
>> denis...-NSENcxR/0n0@public.gmane.org schrieb am Freitag, 1. Juli 2022 um 18:17:02 UTC+2:
>>
>> Here’s a very simple and absolutely unreliable version of a
>> filter. This will replace every colon in a title with a period.
>>
>> ```lua
>>
>> local stringify = pandoc.utils.stringify
>>
>> function Meta(m)
>>
>> if m.references ~= nil then
>>
>> for _, el in ipairs (m.references) do
>>
>> print(stringify(el.title))
>>
>> el.title = pandoc.Str(string.gsub(stringify(el.title), ':',
>> '.'))
>>
>> print(el.title)
>>
>> end
>>
>> end
>>
>> return m
>>
>> end
>>
>> ```
>>
>> Question is how this can be made robust enough to avoid false
>> positives.
>>
>> *Von:*pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
>> *Im Auftrag von *John Carter Wood
>> *Gesendet:* Freitag, 1. Juli 2022 17:52
>> *An:* pandoc-discuss <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
>> *Betreff:* Re: Changing colons to full-stops in titles
>>
>> Thanks for the suggestions, a couple of which are kind of
>> stretching my knowledge of these things, but I see where they're
>> going.
>>
>> As to JGM's question: I am using a CSL json bibliography, so my
>> titles are in a single field. ("title":"Science and religion: new
>> perspectives on the dialogue")
>>
>> The issue is that *most* of the journals / publishers I publish
>> in use, as here, the colon. *Some* (mainly German) styles want
>> the period. If I were solely interested in either one, I could
>> choose and just enter the relevant punctuation in the title
>> field. However, I want to continue saving my bibliographic
>> entries with a colon (because that's the most standard one for
>> me), but have the option of automatically converting them to a
>> period for those cases where I need to. If that makes sense.
>>
>> Thus: going through denis's options:
>>
>> 1. I have switched to json bibliographies from bibtex/biblatex as
>> they seemed to offer more flexibility (I was running into issue
>> with the strange archival references I have to make in my field,
>> and JSON seemed to work better in that regard). So this seems to
>> not apply.
>>
>> 2. Seems to not apply, as I have a single title field
>>
>> 3. Sounds really interesting, and I use BBT, though it also
>> sounds like I would here have to create a separate bibliography
>> file from my Zotero database for those publishers/styles that
>> require the dot. This is not *too* onerous, as it would at least
>> be automated.
>>
>> 4. Having a filter that I could simply apply (as part of a pandoc
>> command, say) or not apply as relevant seems like the most
>> flexible / efficient solution. I don't know lua, but if this is
>> one possible way, then I could use it as a (hopefully fairly
>> simple?) way into learning it.
>>
>> Does this help to clarify my situation?
>>
>> denis...-NSENcxR/0n0@public.gmane.org schrieb am Freitag, 1. Juli 2022 um 17:34:55 UTC+2:
>>
>> Yes, that’s a known issue...
>>
>> There are a couple of possible solutions :
>>
>> 1. use biblatex databases and patch pandoc so it will concat
>> title and subtitle fields using periods. (line 667
>> https://github.com/jgm/pandoc/blob/master/src/Text/Pandoc/Citeproc/BibTeX.hs
>> <https://github.com/jgm/pandoc/blob/master/src/Text/Pandoc/Citeproc/BibTeX.hs>)
>>
>> 2. I think pandoc’s citeproc will just treat every unknown
>> variable as a string variable (see
>> https://github.com/jgm/citeproc/blob/3f94424db469c804cf2dac2d22dc7a18b614f43e/src/Citeproc/Types.hs#L1054
>> <https://github.com/jgm/citeproc/blob/3f94424db469c804cf2dac2d22dc7a18b614f43e/src/Citeproc/Types.hs#L1054>
>> and
>> https://github.com/jgm/citeproc/blob/3f94424db469c804cf2dac2d22dc7a18b614f43e/src/Citeproc/Types.hs#L901),
>> so you should be able to use «subtitle» in styles. (This will
>> give you warnings when using the style with Zotero and it
>> won’t work reliably across implementations, but anyway ...)
>>
>> 3. if you’re using Zotero, you can leverage Zotero BBT’s
>> postscript feature to manipulate the JSON after exporting.
>>
>> E.g., this one :
>>
>> if (Translator.BetterCSL && item.title) {
>>
>> reference.title = reference.title.replace(/ : /g, '. ')
>>
>> }
>>
>> Not bullet-proof, but simple. You will want to choose a
>> better separator, maybe a double-bar or so.
>>
>> 4. Doing the with lua should also be possible...
>>
>> The question is: do you have the subtitle in a distinct field
>> or is it just in the title field?
>>
>> *Von:*pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
>> <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> *Im Auftrag von *John Carter Wood
>> *Gesendet:* Freitag, 1. Juli 2022 16:39
>> *An:* pandoc-discuss <pandoc-...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
>> *Betreff:* Changing colons to full-stops in titles
>>
>> I have one final (for now...) issue in setting up a CSL file
>> (which I use with pandoc/citeproc and references in a json
>> file).
>>
>> I'm not sure whether this is a CSL issue or whether it's an
>> issue that can be solved via using a filter (or some other
>> solution) in pandoc, but I thought there might be some people
>> here who might have faced a similar issue.
>>
>> The house style for here (German-based publisher) wants a
>> *full-stop/period *between main title and subtitle in
>> citations / bibliographies; US/UK standard is a *colon*
>> between main title and subtitle. And reference managers like
>> Zotero -- IIUC -- save titles as single fields (at least they
>> are in my version of Zotero). So it doesn't seem like it is
>> possible to control what delimiter is used between them via CSL.
>>
>>
>> I have found various discussions of relevant title/subtitle
>> division issues -- some going back quite a few years -- in
>> forums on Zotero:
>>
>> https://forums.zotero.org/discussion/8077/separate-fields-for-title-and-subtitle/
>>
>> ...and CSL:
>>
>> https://discourse.citationstyles.org/t/handling-main-sub-title-splits-citeproc-js/1563/11
>>
>> However, these were in part discussions among developers
>> about /possible/ changes, and I'm not sure of the current
>> status of this issue or whether there is a way to handle it.
>>
>> Would it be possible to automate turning colons in titles
>> into full-stops via using a filter? If so is there such a
>> filter already around? Can this be done via CSL?
>>
>> Or is this, as of now, impossible?
>>
>> (Or is there a real simple solution that I have, as usual,
>> overlooked...)
>>
>> --
>>
>> 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/78df697a-50f5-46d0-b0b8-29a2cbc9509an%40googlegroups.com
>> <https://groups.google.com/d/msgid/pandoc-discuss/78df697a-50f5-46d0-b0b8-29a2cbc9509an%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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/a2d540a6-a435-4285-aed5-018007d155cfn%40googlegroups.com
>> <https://groups.google.com/d/msgid/pandoc-discuss/a2d540a6-a435-4285-aed5-018007d155cfn%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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/f0f222ef-e60e-4397-83ac-bec1a6ac2d08n%40googlegroups.com
>> <https://groups.google.com/d/msgid/pandoc-discuss/f0f222ef-e60e-4397-83ac-bec1a6ac2d08n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>
>> --
>> 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/2a8d940b3675472fb4b50ead406f6fc7%40unibe.ch
>> <https://groups.google.com/d/msgid/pandoc-discuss/2a8d940b3675472fb4b50ead406f6fc7%40unibe.ch?utm_medium=email&utm_source=footer>.
--
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/b77d6ecf-8648-d6bc-3818-5a44cadd8a48%40gmail.com.
[-- Attachment #2: Type: text/html, Size: 46977 bytes --]
next prev parent reply other threads:[~2022-07-01 17:28 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <AQHYjVhIsMIE8s9IhE2lBYWP9lHO8a1pnTTw///rpoCAACWJYP//4zWAgAAjbfA=>
[not found] ` <AQHYjVhIsMIE8s9IhE2lBYWP9lHO8a1pnTTw///rpoCAACWJYA==>
[not found] ` <AQHYjVhIsMIE8s9IhE2lBYWP9lHO8a1pnTTw>
2022-07-01 14:38 ` John Carter Wood
[not found] ` <78df697a-50f5-46d0-b0b8-29a2cbc9509an-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-01 15:30 ` John MacFarlane
[not found] ` <m2sfnkvoih.fsf-pgq/RBwaQ+zq8tPRBa0AtqxOck334EZe@public.gmane.org>
2022-07-01 15:41 ` AW: " denis.maier-NSENcxR/0n0
2022-07-01 15:34 ` denis.maier-NSENcxR/0n0
[not found] ` <f440b082946148b884b45ed1a3421de4-NSENcxR/0n0@public.gmane.org>
2022-07-01 15:52 ` John Carter Wood
[not found] ` <a2d540a6-a435-4285-aed5-018007d155cfn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-01 16:16 ` AW: " denis.maier-NSENcxR/0n0
[not found] ` <bc85a4891eec431f846ee69f9fcbe167-NSENcxR/0n0@public.gmane.org>
2022-07-01 16:23 ` John Carter Wood
[not found] ` <f0f222ef-e60e-4397-83ac-bec1a6ac2d08n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-01 16:40 ` AW: " denis.maier-NSENcxR/0n0
[not found] ` <2a8d940b3675472fb4b50ead406f6fc7-NSENcxR/0n0@public.gmane.org>
2022-07-01 16:43 ` John Carter Wood
[not found] ` <b3deb0de-8ba0-4159-b9f3-1ecfbe68d457n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-02 20:02 ` BPJ
[not found] ` <CADAJKhAU66TxJKMZdDM-KVabJpmKUVo5xyuAAN03F2b89jv9Ow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-07-03 5:41 ` Paulo Ney de Souza
[not found] ` <CAFVhNZMyj_GZ=Ao_1qR2rwnAAYAaQ=Maf880cGLRv7yD_ianpQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-07-03 12:15 ` BPJ
[not found] ` <CADAJKhBjTdgbY-xDouhDGfnE+J+V5c3v0FUA2Hn00z59==WeLw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-07-03 16:53 ` Paulo Ney de Souza
[not found] ` <CAFVhNZNNsfQs_Lt8agoaseyrNfdhrVOC9GTusMEdfecJFCBnug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-07-03 19:43 ` BPJ
[not found] ` <CADAJKhCjht=mJqUgEbyHQWcp+P5gKjYUoEfe4VQAOa6SS1b5Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-07-04 9:09 ` BPJ
2022-07-01 16:54 ` AW: " Sukil Etxenike arizaleta
[not found] ` <6621a84d-37f3-6741-bb0a-d4bfd6dac4bf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2022-07-01 17:28 ` Sukil Etxenike arizaleta [this message]
2022-07-05 10:02 ` John Carter Wood
[not found] ` <5c2a1a00-28b9-4846-9541-92baaf0d5200n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-05 10:16 ` Albert Krewinkel
[not found] ` <87h73vj1m1.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2022-07-05 11:45 ` John Carter Wood
[not found] ` <1ebf2a90-159e-4445-bf3a-b068526877cbn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-07-05 11:49 ` Albert Krewinkel
[not found] ` <87czejixon.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>
2022-07-05 12:02 ` John Carter Wood
2022-07-05 12:05 ` Sukil Etxenike arizaleta
2022-07-05 15:50 ` AW: " denis.maier-NSENcxR/0n0
[not found] ` <2bb67f22fc3044088f798c777f3684d2-NSENcxR/0n0@public.gmane.org>
2022-07-07 19:05 ` denis.maier-NSENcxR/0n0
2022-07-05 10:38 ` denis.maier-NSENcxR/0n0
2022-07-02 16:28 ` BPJ
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=b77d6ecf-8648-d6bc-3818-5a44cadd8a48@gmail.com \
--to=sukiletxe-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).