ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Displaying names in Chicago-Turabian "note" style
       [not found] <864272370.146201.1640109077959.ref@mail.yahoo.com>
@ 2021-12-21 17:51 ` Joel via ntg-context
  2021-12-21 18:02   ` Wolfgang Schuster via ntg-context
  2021-12-21 18:18   ` Joey McCollum via ntg-context
  0 siblings, 2 replies; 3+ messages in thread
From: Joel via ntg-context @ 2021-12-21 17:51 UTC (permalink / raw)
  To: ntg-context; +Cc: Joel


[-- Attachment #1.1: Type: text/plain, Size: 7100 bytes --]

I could not find any existing solution for using Chicago-Turabian "note" style in ConTeXt, so I have started my own attempt.

Chicago-Turabian uses footnotes to display the author's details on the same page, but also uses a bibliography to display an alphabetical list of the sources again at the end. The footnotes display somewhat differently each time a source is shown. The first time a source is cited, the footnote contains a long, detailed reference. Subsequent reappearances of the same citation are abbreviated somewhat. And "ibid" is used when the source is cited twice in a row. The bibliography entry contains really detailed information, similar to what was shown in the first footnote, with minor differences.

This code uses three macros: \turabian, used only the first time a source is reference, \shortturabian, used for subsequent references of the same source, and `\ibid, for when a source is referenced twice in a row. Each of these macros simply creates a footnote, showing the author's details, and also uses \nocite to make sure an entry is added to \placelistofpublications. Page details are optionally added in #2, and this information only appears in the footnotes.
I am having trouble getting the code to display the author's names correctly. Every attempt ends with strange results, like "FirstLast" with no space or just "Initial Last". Chicago-Turabian displays the names differently, depending on the placement:

(1) First, the \turabian macro should show in ordinary First + Last order in the footnote, example: "Anna Burns, Robert Smith, and Judith Green", but if the number of authors exceeds 3, it display "Anna Burns et al."

(2) Second, the \shorturabian macro should show just the Last names in the footnote: "Burns, Smith, and Green", also using "Burns et al." if there are more than 3 names.

(3) The \ibid macro doesn't show any names.

(4) Finally, the actual bibliographic entry in \placelistofpublications uses a strange format, with the first author listed as Last + First order, all subsequent authors in First + Last order, such as "Burns, Anna, Robert Smith, and Judith Green.", meanwhile "et al." is never used in the bibliography, even if there are 100 authors.

Any help would be greatly appreciated!
--Joel
Minimal working example follows:

\startbuffer [bib]
@Book{ball1996,
author = {Ball, Larry},
title = {Desert lawmen: The high sheriffs \word{of} New Mexico \word{and} Arizona, 1846-1912},
publisher = {University \word{of} New Mexico Press},
year = {1996},
address = {Albuquerque, NM},
isbn = {9780826317001}
}
 
@Book{minear2009,
author = {Minear, Tish and Limon, Janet},
title = {Discover Native America: Arizona, Colorado, New Mexico, \word{and} Utah},
publisher = {Hippocrene Books},
year = {2009},
address = {New York, NY},
isbn = {9780781803274}
}

\stopbuffer

\define[3]\ifisempty{%
        \setbox0=\hbox{#1\unskip}%
        \ifdim\wd0=0pt
            #2%
        \else
            #3%
        \fi
}%

\usebtxdataset[bib.buffer]

\startbtxrenderingdefinitions[chicagonum]

\definebtx[chicagonum]
    [default=default,
    specification=chicagonum,
    otherstext={\btxspace{\it\btxlabeltext{others}}},
    etallimit=10,
    etaldisplay=\btxparameter\c!etallimit,
    journalconversion=\v!normal,
    monthconversion=\v!month,
    title=yes,
    separator:names:2={\btxcomma},
    separator:names:3={\btxcomma\btxlabeltext{and}\space},
    separator:names:4={\btxspace\btxlabeltext{and}\space}]
   
\setupbtxlist[chicagonum]

\definebtxrendering[chicagonum]
    [specification=chicagonum,
    sorttype=authoryear,
    numbering=no]


\startsetups btx:chicagonum:list:book
    \btxdoif{author}{
        \btxflush{author}
        \btxperiod
    }
    \btxdoif{title}{
        {\it\Words \btxflush{title}}
        \btxperiod
    }
    \btxdoif{address}{
        \btxflush{address}
        \btxcolon
    }
    \btxdoif{publisher}{
        \btxflush{publisher}
        \btxcomma
    }
    \btxdoif{year}{
        \btxflush{year}
        \btxperiod
    }
    \removeunwantedspaces
\stopsetups


\startsetups btx:chicagonum:list:article
    \btxdoif{author}{
        \btxflush{author}
        \btxperiod
    }
    \btxdoif{title}{
        \quotation{\Words \btxflush{title}}
        \btxperiod
    }
    \btxdoif{journal}{
        {\it\Words \btxflush{journal}}
    }    
    \btxdoif{volume}{
        \btxflush{volume}
        \btxcomma
    }
    \btxdoif{number}{
        no.~\btxflush{number}
    }
    \btxdoifelse{month}{
        (\btxflush{month} \btxflush{year})
        \btxcolon
    }{
        \btxdoif{year}{
            (\btxflush{year})
        }
        \btxcolon
   }
    \btxdoif{pages}{
        \btxflush{pages}
        \btxperiod
    }
    \removeunwantedspaces
\stopsetups

\stopbtxrenderingdefinitions


\setupbtx[chicagonum][dataset=default,
    authorconversion={normal},
     etallimit=]

\setupbtx[chicagonum:list:author]
    [authorconversion={normal},
     etallimit=]
\setupbtx[chicagonum:cite:author]
    [authorconversion={normal},
     etallimit=3,
     etaldisplay=1]

\usebtxdefinitions[chicagonum]

\define[2]\turabian{%
    \footnote{%
        \ifisempty{\cite[author][#1]}{}{\cite[author][#1]}%
        \ifisempty{\cite[title][#1]}{}{,\ {\it\Words \cite[title][#1].}}%
        \ifisempty{\cite[address][#1]\cite[publisher][#1]\cite[year][#1]}{}{\ (}%
            \cite[address][#1]: ~%
            \ifisempty{\cite[journal][#1]}{\ifisempty{\cite[publisher][#1]}{}{\cite[publisher][#1]:\ }}{\cite[journal][#1]:\ }%
            \ifisempty{\cite[year][#1]}{}{,\ \cite[year][#1]}%
        \ifisempty{\cite[address][#1]\cite[publisher][#1]\cite[year][#1]}{}{)}%
        \ifisempty{#2}{.}{,\ #2.}%
    }%
    \nocite[#1]%
}%


\define[2]\shortturabian{%
    \footnote{%
        \ifisempty{\cite[author][#1]}{}{\cite[author][#1]}%
        \ifisempty{#2}{.}{,\ #2.}%
    }%
    \nocite[#1]%
}%

\define[2]\ibid{
    \footnote{%
        Ibid\ifisempty{#2}{.}{,\ #2.}%
    }%
    \nocite[#1]%
}

\starttext

    \input knuth \turabian{ball1996}{1\endash 23}    
    
    \input knuth \turabian{minear2009}{32\endash 23}
    
        \ibid{minear2009}{32\endash 23}
        \ibid{minear2009}{}
    \input knuth \turabian{ball1996}{}    
    
    \input knuth \shortturabian{minear2009}{121\endash 99}
    
    \startchapter[title=Bibliography]
        \placelistofpublications
    \stopchapter

\stoptext



[-- Attachment #1.2: Type: text/html, Size: 9956 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Displaying names in Chicago-Turabian "note" style
  2021-12-21 17:51 ` Displaying names in Chicago-Turabian "note" style Joel via ntg-context
@ 2021-12-21 18:02   ` Wolfgang Schuster via ntg-context
  2021-12-21 18:18   ` Joey McCollum via ntg-context
  1 sibling, 0 replies; 3+ messages in thread
From: Wolfgang Schuster via ntg-context @ 2021-12-21 18:02 UTC (permalink / raw)
  To: mailing list for ConTeXt users, Joel via ntg-context; +Cc: Wolfgang Schuster

Joel via ntg-context schrieb am 21.12.2021 um 18:51:
> [...]
> 
> \define[3]\ifisempty{%
>          \setbox0=\hbox{#1\unskip}%
>          \ifdim\wd0=0pt
>              #2%
>          \else
>              #3%
>          \fi
> }%


No need for your own command because ConTeXt already provides 
\doifemptyelse which does the same thing.

Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Displaying names in Chicago-Turabian "note" style
  2021-12-21 17:51 ` Displaying names in Chicago-Turabian "note" style Joel via ntg-context
  2021-12-21 18:02   ` Wolfgang Schuster via ntg-context
@ 2021-12-21 18:18   ` Joey McCollum via ntg-context
  1 sibling, 0 replies; 3+ messages in thread
From: Joey McCollum via ntg-context @ 2021-12-21 18:18 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Joey McCollum


[-- Attachment #1.1: Type: text/plain, Size: 10752 bytes --]

Joel,

I've attempted to incorporate most of these features for the SBL citation
style (which derives most of the same rules from Chicago) for ConTeXt. You
can use my code in https://github.com/jjmccollum/context-sbl as a template
for now, if you'd like; we're still waiting for the code to be incorporated
into a future ConTeXt update. Regarding the specific features you described:

(1) The rules for first name-last name authorconversions and et al. limits
for inline citations (i.e., ones in the text/footnotes, but not in the
bibliographic list) can be implemented using the general
\definebtx[chicagonum:\s!cite] command. In publ-imp-sbl.mkvi, I do this as
follows:

\definebtx
  [sbl:\s!cite]
  [sbl]
  [\c!alternative=footnote, % by default, SBL uses footnote citation format
(defined below)
   \c!otherstext={\btxspace\btxlabeltext{others}}, % use et al. for
truncated author / editor list
   \c!etallimit=3, % don't use et al. for 3 or fewer authors
   \c!etaldisplay=1, % but if there are > 3, then only list the first
explicitly
   \c!etaloption=last,
   \c!authorconversion=\v!normal, % by default, use normal name order for
in-text citations
   ...
  ]

(2) SBL also uses short-form citations for inline citations after the first
one. To make these work, it ended up being easiest to create distinct
\fastsetups for an "inlineshort" style. Here is how I handled the citation
of the author in such instances in publ-imp-sbl.mkvi  :

\starttexdefinition btx:sbl:inlineshort:author
  \btxdoif{author} {
    % If the useidem option is set and this author matches the previously
cited author, then just print "idem";
    % otherwise, print the author/editor's last name
    \doifelse{\btxparameter{useidem}} {\v!yes} {

\texdefinition{btx:sbl:doifsamefoundnameauthorelse}{\currentbtxtag}{\getvariable{btx:sbl}{previousinlinetag}}
{
        \btxlabeltext{sbl:idem}
      } {
        \currentbtxciteauthorbyfield
      }
    } {
      \currentbtxciteauthorbyfield
    }
    \btxcomma
  }
\stoptexdefinition

(3) I haven't implemented support for ibid. tracking (it's on a wishlist
that I sent to Hans and Alan, as it would best be handled by changes to the
core publication support module), so I'm afraid I can't help you on that at
the moment. There is some placeholder code in publ-imp-sbl.mkvi for
handling this when ibid. tracking is eventually implemented, so you might
be able to use that as a template.

(4) To get the "inverted first author" authorconversion working, I had to
create new authorconversions for this. You can find this in the updated
publ-imp-author.mkvi file in my GitHub repo:

\startsetups \s!btx:\s!list:\s!author:invertedfirst
    \ifnum\currentbtxauthorindex>\plusone
        \fastsetup{\s!btx:\s!list:\s!author:normal}
    \else
        \fastsetup{\s!btx:\s!list:\s!author:inverted}
    \fi
\stopsetups

\startsetups \s!btx:\s!cite:\s!author:invertedfirst
    \ifnum\currentbtxauthorindex>\plusone
        \fastsetup{\s!btx:\s!cite:\s!author:normal}
    \else
        \fastsetup{\s!btx:\s!cite:\s!author:inverted}
    \fi
\stopsetups

Then, in publ-imp-sbl.mkvi, I invoke this setup in the \btxsetup for
citations in the bibliographic list as follows:

\definebtx
  [sbl:\s!list:author]
  [sbl:\s!list]
  [\c!authorconversion=invertedfirst,
  \c!separator:names:4={\btxcomma\btxlabeltext{and}\space}] % between only
2 names

I hope this helps!

Joey

On Tue, Dec 21, 2021 at 12:51 PM Joel via ntg-context <ntg-context@ntg.nl>
wrote:

> I could not find any existing solution for using Chicago-Turabian "note"
> style in ConTeXt, so I have started my own attempt.
>
> Chicago-Turabian uses footnotes to display the author's details on the
> same page, but also uses a bibliography to display an alphabetical list of
> the sources again at the end. The footnotes display somewhat differently
> each time a source is shown. The first time a source is cited, the footnote
> contains a long, detailed reference. Subsequent reappearances of the same
> citation are abbreviated somewhat. And "ibid" is used when the source is
> cited twice in a row. The bibliography entry contains really detailed
> information, similar to what was shown in the first footnote, with minor
> differences.
>
> This code uses three macros: \turabian, used only the first time a source
> is reference, \shortturabian, used for subsequent references of the same
> source, and `\ibid, for when a source is referenced twice in a row. Each of
> these macros simply creates a footnote, showing the author's details, and
> also uses \nocite to make sure an entry is added to
> \placelistofpublications. Page details are optionally added in #2, and this
> information only appears in the footnotes.
>
> I am having trouble getting the code to display the author's names
> correctly. Every attempt ends with strange results, like "FirstLast" with
> no space or just "Initial Last". Chicago-Turabian displays the names
> differently, depending on the placement:
>
> (1) First, the \turabian macro should show in ordinary First + Last order
> in the footnote, example: "Anna Burns, Robert Smith, and Judith Green", but
> if the number of authors exceeds 3, it display "Anna Burns et al."
>
> (2) Second, the \shorturabian macro should show just the Last names in the
> footnote: "Burns, Smith, and Green", also using "Burns et al." if there are
> more than 3 names.
>
> (3) The \ibid macro doesn't show any names.
>
> (4) Finally, the actual bibliographic entry in \placelistofpublications
> uses a strange format, with the first author listed as Last + First order,
> all subsequent authors in First + Last order, such as "Burns, Anna, Robert
> Smith, and Judith Green.", meanwhile "et al." is never used in the
> bibliography, even if there are 100 authors.
>
> Any help would be greatly appreciated!
> --Joel
>
> Minimal working example follows:
>
> \startbuffer [bib]
> @Book{ball1996,
> author = {Ball, Larry},
> title = {Desert lawmen: The high sheriffs \word{of} New Mexico \word{and}
> Arizona, 1846-1912},
> publisher = {University \word{of} New Mexico Press},
> year = {1996},
> address = {Albuquerque, NM},
> isbn = {9780826317001}
> }
>
> @Book{minear2009,
> author = {Minear, Tish and Limon, Janet},
> title = {Discover Native America: Arizona, Colorado, New Mexico,
> \word{and} Utah},
> publisher = {Hippocrene Books},
> year = {2009},
> address = {New York, NY},
> isbn = {9780781803274}
> }
>
> \stopbuffer
>
> \define[3]\ifisempty{%
>         \setbox0=\hbox{#1\unskip}%
>         \ifdim\wd0=0pt
>             #2%
>         \else
>             #3%
>         \fi
> }%
>
> \usebtxdataset[bib.buffer]
>
> \startbtxrenderingdefinitions[chicagonum]
>
> \definebtx[chicagonum]
>     [default=default,
>     specification=chicagonum,
>     otherstext={\btxspace{\it\btxlabeltext{others}}},
>     etallimit=10,
>     etaldisplay=\btxparameter\c!etallimit,
>     journalconversion=\v!normal,
>     monthconversion=\v!month,
>     title=yes,
>     separator:names:2={\btxcomma},
>     separator:names:3={\btxcomma\btxlabeltext{and}\space},
>     separator:names:4={\btxspace\btxlabeltext{and}\space}]
>
> \setupbtxlist[chicagonum]
>
> \definebtxrendering[chicagonum]
>     [specification=chicagonum,
>     sorttype=authoryear,
>     numbering=no]
>
>
> \startsetups btx:chicagonum:list:book
>     \btxdoif{author}{
>         \btxflush{author}
>         \btxperiod
>     }
>     \btxdoif{title}{
>         {\it\Words \btxflush{title}}
>         \btxperiod
>     }
>     \btxdoif{address}{
>         \btxflush{address}
>         \btxcolon
>     }
>     \btxdoif{publisher}{
>         \btxflush{publisher}
>         \btxcomma
>     }
>     \btxdoif{year}{
>         \btxflush{year}
>         \btxperiod
>     }
>     \removeunwantedspaces
> \stopsetups
>
>
> \startsetups btx:chicagonum:list:article
>     \btxdoif{author}{
>         \btxflush{author}
>         \btxperiod
>     }
>     \btxdoif{title}{
>         \quotation{\Words \btxflush{title}}
>         \btxperiod
>     }
>     \btxdoif{journal}{
>         {\it\Words \btxflush{journal}}
>     }
>     \btxdoif{volume}{
>         \btxflush{volume}
>         \btxcomma
>     }
>     \btxdoif{number}{
>         no.~\btxflush{number}
>     }
>     \btxdoifelse{month}{
>         (\btxflush{month} \btxflush{year})
>         \btxcolon
>     }{
>         \btxdoif{year}{
>             (\btxflush{year})
>         }
>         \btxcolon
>    }
>     \btxdoif{pages}{
>         \btxflush{pages}
>         \btxperiod
>     }
>     \removeunwantedspaces
> \stopsetups
>
> \stopbtxrenderingdefinitions
>
>
> \setupbtx[chicagonum][dataset=default,
>     authorconversion={normal},
>      etallimit=]
>
> \setupbtx[chicagonum:list:author]
>     [authorconversion={normal},
>      etallimit=]
> \setupbtx[chicagonum:cite:author]
>     [authorconversion={normal},
>      etallimit=3,
>      etaldisplay=1]
>
> \usebtxdefinitions[chicagonum]
>
> \define[2]\turabian{%
>     \footnote{%
>         \ifisempty{\cite[author][#1]}{}{\cite[author][#1]}%
>         \ifisempty{\cite[title][#1]}{}{,\ {\it\Words \cite[title][#1].}}%
>
>  \ifisempty{\cite[address][#1]\cite[publisher][#1]\cite[year][#1]}{}{\ (}%
>             \cite[address][#1]: ~%
>
>  \ifisempty{\cite[journal][#1]}{\ifisempty{\cite[publisher][#1]}{}{\cite[publisher][#1]:\
> }}{\cite[journal][#1]:\ }%
>             \ifisempty{\cite[year][#1]}{}{,\ \cite[year][#1]}%
>
>  \ifisempty{\cite[address][#1]\cite[publisher][#1]\cite[year][#1]}{}{)}%
>         \ifisempty{#2}{.}{,\ #2.}%
>     }%
>     \nocite[#1]%
> }%
>
>
> \define[2]\shortturabian{%
>     \footnote{%
>         \ifisempty{\cite[author][#1]}{}{\cite[author][#1]}%
>         \ifisempty{#2}{.}{,\ #2.}%
>     }%
>     \nocite[#1]%
> }%
>
> \define[2]\ibid{
>     \footnote{%
>         Ibid\ifisempty{#2}{.}{,\ #2.}%
>     }%
>     \nocite[#1]%
> }
>
> \starttext
>
>     \input knuth \turabian{ball1996}{1\endash 23}
>
>     \input knuth \turabian{minear2009}{32\endash 23}
>
>         \ibid{minear2009}{32\endash 23}
>         \ibid{minear2009}{}
>     \input knuth \turabian{ball1996}{}
>
>     \input knuth \shortturabian{minear2009}{121\endash 99}
>
>     \startchapter[title=Bibliography]
>         \placelistofpublications
>     \stopchapter
>
> \stoptext
>
>
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to
> the Wiki!
>
> maillist : ntg-context@ntg.nl /
> http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
>
> ___________________________________________________________________________________
>

[-- Attachment #1.2: Type: text/html, Size: 13165 bytes --]

[-- Attachment #2: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-21 18:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <864272370.146201.1640109077959.ref@mail.yahoo.com>
2021-12-21 17:51 ` Displaying names in Chicago-Turabian "note" style Joel via ntg-context
2021-12-21 18:02   ` Wolfgang Schuster via ntg-context
2021-12-21 18:18   ` Joey McCollum via ntg-context

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