dcpurton / biblatex-sbl

Society of Biblical Literature (SBL) style files for biblatex
25 stars 6 forks source link

Comma after title? #3

Closed baem2 closed 8 years ago

baem2 commented 8 years ago

Hey,

thank you very much for that package! It makes life easier if one has to cite after SBL's conventions!

I do have one problem, though: The comma after the title comes after the quotation marks for me, so it is: Author, "Title", ... instead of Author, "Title," ....

Here's a MWE for LaTeX:

\listfiles
\documentclass{article}
\usepackage[english]{babel}

\usepackage[utf8]{inputenc}

\begin{filecontents}{lit.bib}
@article{leyerle:1993,
  author = {Leyerle, Blake},
  title = {John Chrysostom on the Gaze},
  shorttitle = {Chrysostom},
  journaltitle = {Journal of Early Christian Studies},
  shortjournal = {JECS},
  volume = {1},
  date = {1993},
  pages = {159-174}
}
\end{filecontents}

\usepackage[style=sbl]{biblatex}
\bibliography{lit.bib}

\begin{document}
A short test: \cite{leyerle:1993}
\end{document} 

Could you have a look into that?

PS Also it would be great if the style was called biblatex-sbl, to go conform with all the other packages.

baem2 commented 8 years ago

I do have a similar problem with "series", it is not put into the brackets ...

\listfiles
\documentclass{article}
\usepackage[english]{babel}

\usepackage[utf8]{inputenc}

\begin{filecontents}{lit.bib}
@article{leyerle:1993,
  author = {Leyerle, Blake},
  title = {John Chrysostom on the Gaze},
  shorttitle = {Chrysostom},
  journaltitle = {Journal of Early Christian Studies},
  shortjournal = {JECS},
  volume = {1},
  date = {1993},
  pages = {159-174}
}
@book{kaltner+mckenzie:2002,
  editor = {Kaltner, John and McKenzie, Steven L.},
  title = {Beyond Babel: A Handbook for Biblical Hebrew and Related Languages},
  series = {Resources for Biblical Study},
  shortseries = {RBS},
  number = {42},
  location = {Atlanta},
  publisher = {Society of Biblical Literature},
  date = {2002}
}
\end{filecontents}

\usepackage[style=sbl,backend=biber]{biblatex}
\bibliography{lit.bib}

\begin{document}
A short test: \cite{leyerle:1993}

And another one: \cite{kaltner+mckenzie:2002}
\end{document}
dcpurton commented 8 years ago

Hi,

  1. The positioning of quotes and punctuation in biblatex is controlled by language settings. You can set it explicitly by loading the csqutotes package with an appropriate style, e.g.,

    \usepackage[style = american]{csquotes}
    \usepackage[style=sbl,backend=biber]{biblatex}
  2. I'm not sure what you mean by calling the style biblatex-sbl. Do mean to load it like this?

    \usepackage[style=biblatex-sbl,backend=biber]{biblatex}

    But this is not how any of the standard styles or indeed any of the other styles work (e.g., ieee, mla, chicago, apa, etc.)

    If you just mean the name of the folder in your tex tree, you can call this whatever you want. In the install section of the readme file, I suggest installing it in $TEXMFHOME/tex/latex/biblatex-sbl/ which parallels other biblatex styles.

  3. Putting elements such as series within parentheses was part of the 1st edition of SHLHS and is no longer recommended in the 2nd edition (See https://www.sbl-site.org/publications/SBLHandbookofStyle.aspx).

    At this stage I have not attempted to support the 1st edition of the SBLHS. I may do this once I get more complete support happening for the second edition. In the mean time, feel free to have a go at forking and implementing things yourself. You could create an extra option called edition to specify 1st or 2nd edition. If you can get things working, then I'd by happy to look at adding your patches.

Thanks,

David

baem2 commented 8 years ago

Thanks for your reply, David.

  1. I see; but csquote doesn't change it for me. The only thing that helps is setting babel and/or biblatex to american as main language; but I'd still like to have the language as german in the book's titles ('und' instead of 'and' etc.). Do you know if there's a way to switch only the punctuation to american?
  2. Yes, that's what I meant. Sorry if there are more styles with short names, so far I only used styles with biblatex-xyz. Never mind :)
  3. Great, I will have a look, but I'm not an expert, so I can't promise anything.
dcpurton commented 8 years ago

I can't reproduce your quote issue. Simply adding \usepackage[style=american]{csquotes} to your MWE is enough to move the punctuation outside the quote marks for me.

I can get German language and quotes by doing this (I also added \printbiblist{abbreviations} and \printbibliography):

\usepackage[german]{babel}
\usepackage{csquotes}
\usepackage[style=sbl,backend=biber]{biblatex}

test

Note that there are some strings which won't work with languages other than English. You would need to copy sbl-english.lbx to sbl-german.lbx and translate it appropriately. (If you do this, definitely create a pull request so that I can incorporate it into the main source tree.)

Here's the output when I build your MWE with pdflatex:

This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2015/10/01> patch level 2
Babel <3.9m> and hyphenation patterns for 9 languages loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
(/usr/share/texlive/texmf-dist/tex/generic/babel-german/german.ldf
(/usr/share/texlive/texmf-dist/tex/generic/babel-german/germanb.ldf
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def))))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu)))

LaTeX Warning: File `lit.bib' already exists on the system.
               Not generating it from this source.

(/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.sty
(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty)
(/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.def)
(/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.cfg))
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex2.sty
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty))))
(/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty
(/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.def))
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty)
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def)
(/home/dcpurton/texmf/tex/latex/biblatex-sbl/sbl.dbx)
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def)
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def)
(/home/dcpurton/texmf/tex/latex/biblatex-sbl/sbl.bbx
(/home/dcpurton/texmf/tex/latex/biblatex-sbl/biblatex-sbl.def
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx)))
(/home/dcpurton/texmf/tex/latex/biblatex-sbl/sbl.cbx)
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg)))
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/german.lbx) (./test.aux)
(./test.bbl) [1{/home/dcpurton/.texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
(./test.aux)

 *File List*
 article.cls    2014/09/29 v1.4h Standard LaTeX document class
  size10.clo    2014/09/29 v1.4h Standard LaTeX file (size option)
   babel.sty    2015/08/03 3.9m The Babel package
  german.ldf    2014/10/10 v2.7b German support for babel (traditional orthogra
phy)
inputenc.sty    2015/03/17 v1.2c Input encoding file
    utf8.def    2015/09/07 v1.1p UTF-8 support for inputenc
   t1enc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
  ot1enc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
  omsenc.dfu    2015/09/07 v1.1p UTF-8 support for inputenc
csquotes.sty    2015/07/18 v5.1f context-sensitive quotations (JAW)
etoolbox.sty    2015/08/02 v2.2a e-TeX tools for LaTeX (JAW)
  keyval.sty    2014/10/28 v1.15 key=value parser (DPC)
csquotes.def    2015/07/18 v5.1f csquotes generic definitions (JAW)
csquotes.cfg    
biblatex.sty    2015/10/21 v3.1 programmable bibliographies (PK/JW/AB)
biblatex2.sty    2015/10/21 v3.1 programmable bibliographies (biber) (PK/JW/AB)

kvoptions.sty    2011/06/30 v3.11 Key value format for package options (HO)
 ltxcmds.sty    2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
kvsetkeys.sty    2012/04/25 v1.16 Key value parser (HO)
infwarerr.sty    2010/04/08 v1.3 Providing info/warning/error messages (HO)
etexcmds.sty    2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
  logreq.sty    2010/08/04 v1.0 xml request logger
  logreq.def    2010/08/04 v1.0 logreq spec v1.0
  ifthen.sty    2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
     url.sty    2013/09/16  ver 3.4  Verb mode for urls, etc.
  blx-dm.def
     sbl.dbx
biblatex-dm.cfg
blx-compat.def    2015/10/21 v3.1 biblatex compatibility (PK/JW/AB)
biblatex.def    
standard.bbx    2015/10/21 v3.1 biblatex bibliography style (PK/JW/AB)
biblatex-sbl.def
     sbl.bbx    2014/05/17 v0.1 SBL biblatex bibliography style
     sbl.cbx    2014/05/17 v0.1 SBL biblatex citation style
biblatex.cfg    
  german.lbx    2015/10/21 v3.1 biblatex localization (PK/JW/AB)
    test.bbl
 ***********

 )</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></us
r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share
/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb>
Output written on test.pdf (1 page, 42763 bytes).
Transcript written on test.log.
baem2 commented 8 years ago

Weird enough, I don't get that working. I updated some packages to have the same (or more recent) versions as you do (biblatex, etoolbox, csquotes, babel), but it does not work for me. Maybe I'll try to have a more recent full texlive install later on.

Thanks for your help anyway!

I'm aware that some strings are hardcoded in your package; I could do some translations, I just have to figure out how it works.

baem2 commented 8 years ago

Ah, and my log:

This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=pdflatex 2016.1.12) 
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**mini.tex
(./mini.tex
LaTeX2e <2014/05/01>
Babel <3.9m> and hyphenation patterns for 60 languages loaded.
...
 *File List*
 article.cls    2014/09/29 v1.4h Standard LaTeX document class
  size10.clo    2014/09/29 v1.4h Standard LaTeX file (size option)
   babel.sty    2015/08/03 3.9m The Babel package
  german.ldf    2014/10/10 v2.7b German support for babel (traditional orthogra
phy)
inputenc.sty    2014/04/30 v1.2b Input encoding file
    utf8.def    2014/09/29 v1.1m UTF-8 support for inputenc
   t1enc.dfu    2014/09/29 v1.1m UTF-8 support for inputenc
  ot1enc.dfu    2014/09/29 v1.1m UTF-8 support for inputenc
  omsenc.dfu    2014/09/29 v1.1m UTF-8 support for inputenc
csquotes.sty    2015/07/18 v5.1f context-sensitive quotations (JAW)
etoolbox.sty    2015/08/02 v2.2a e-TeX tools for LaTeX (JAW)
    etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
  keyval.sty    2014/05/08 v1.15 key=value parser (DPC)
csquotes.def    2015/07/18 v5.1f csquotes generic definitions (JAW)
csquotes.cfg    
biblatex.sty    2015/12/22 v3.2 programmable bibliographies (PK/JW/AB)
biblatex2.sty    2015/12/22 v3.2 programmable bibliographies (biber) (PK/JW/AB)

kvoptions.sty    2011/06/30 v3.11 Key value format for package options (HO)
 ltxcmds.sty    2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
kvsetkeys.sty    2012/04/25 v1.16 Key value parser (HO)
infwarerr.sty    2010/04/08 v1.3 Providing info/warning/error messages (HO)
etexcmds.sty    2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
  logreq.sty    2010/08/04 v1.0 xml request logger
  logreq.def    2010/08/04 v1.0 logreq spec v1.0
  ifthen.sty    2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
     url.sty    2013/09/16  ver 3.4  Verb mode for urls, etc.
  blx-dm.def
     sbl.dbx
biblatex-dm.cfg
blx-compat.def    2015/12/22 v3.2 biblatex compatibility (PK/JW/AB)
biblatex.def    
standard.bbx    2015/12/22 v3.2 biblatex bibliography style (PK/JW/AB)
biblatex-sbl.def
     sbl.bbx    2014/05/17 v0.1 SBL biblatex bibliography style
     sbl.cbx    2014/05/17 v0.1 SBL biblatex citation style
biblatex.cfg    
  german.lbx    2015/12/22 v3.2 biblatex localization (PK/JW/AB)
    mini.bbl
 ***********
dcpurton commented 8 years ago

Hmmm, that is strange. Just to make double sure it's not with sbl-biblatex. What does this MWE give you (uses the default biblatex style)?

\documentclass{article}
\usepackage[british,american,german]{babel}
\usepackage[autostyle]{csquotes}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{springer,
  author       = {Springer, Otto},
  title        = {Mediaeval Pilgrim Routes from {Scandinavia} to {Rome}},
  journaltitle = {Mediaeval Studies},
  date         = 1950,
  volume       = 12,
  pages        = {92-122},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{springer}
\section*{British English}
\selectlanguage{british}
\printbibliography
\section*{American English}
\selectlanguage{american}
\printbibliography
\section*{German}
\selectlanguage{german}
\printbibliography
\end{document}

If you don't get the following, then there is something wrong with your TEX installation:

quotes

baem2 commented 8 years ago

My result is looking exactly the same (punctuaction, quotation marks, "pp."/"S.").

dcpurton commented 8 years ago

Do you mean all three languages are the same for you (punctuation inside quotes)?

Or do you mean your entire output looks the same as mine?

baem2 commented 8 years ago

Sorry: I meant it looks the same as your result!

dcpurton commented 8 years ago

I think I might have found the problem!

I have \uspunctuation specified in biblatex-sbl.def.

Try removing this line and see if it helps you.

baem2 commented 8 years ago

Thanks, I'll give it a go on my office PC, where I have the most recent biblatex installed, with my version 2.9a it does not work, it seems.

(I guess it'd make sense to put a requiredpackage >= 3.0 somewhere.)

dcpurton commented 8 years ago

Thanks for the heads up concerning biblatex version. I'll look into it. Can you tell me in particular what fails? It might be an indication of a more general problem or something I've done that I shouldn't have.

I've gone ahead and moved \uspunctuation into a language specific file anyway as it it definitely shouldn't be specified for all languages. So do your test with the latest revision in GitHub.

baem2 commented 8 years ago

keyval was complaining about 'entryclone', which seems to be new in biblatex 3.0

dcpurton commented 8 years ago

Ah - ok. I need that.

baem2 commented 8 years ago

The latest sbl+babel 3.9m does not improve the situation ... I don't get it. Using \selectlanguage{american}, as in your above example, is working fine; using csquotes with american style (as in my example) does not work for me ...

If you do not have further ideas, we can just close here, I think ...

dcpurton commented 8 years ago

This has to be possible to fix! :) Post your current MWE again. I don't think you should need to supply any option to csquotes, it should just be enough to have the language set correctly with babel and use \usepackage{csquotes}.

As a last effort, try putting \stdpunctuation in your document preamble.

baem2 commented 8 years ago

Well, what I want is a german bibliography (i.e., german strings), but american punctuation (i.e., ... "Title," ...). It looks like the csquotes style argument does not have an effect on the punctuation, only on the quotation marks (i.e.: „german“, “american” )

My current MWE with sbl 0.2:

\listfiles
\documentclass{article}
\usepackage[american,german]{babel}

\usepackage[utf8]{inputenc}

\usepackage[style=american]{csquotes}
\usepackage[style=sbl,backend=biber]{biblatex}

\bibliography{lit.bib}

\begin{filecontents}{lit.bib}
@article{leyerle:1993,
  author = {Leyerle, Blake},
  title = {John Chrysostom on the Gaze},
  shorttitle = {Chrysostom},
  journaltitle = {Journal of Early Christian Studies},
  shortjournal = {JECS},
  volume = {1},
  date = {1993},
  pages = {159-174}
}
@book{kaltner+mckenzie:2002,
  editor = {Kaltner, John and McKenzie, Steven L.},
  title = {Beyond Babel: A Handbook for Biblical Hebrew and Related Languages},
  series = {Resources for Biblical Study},
  shortseries = {RBS},
  number = {42},
  location = {Atlanta},
  publisher = {Society of Biblical Literature},
  date = {2002}
}
\end{filecontents}

\begin{document}
A short test: \cite{leyerle:1993}

And another one: \cite{kaltner+mckenzie:2002}

%\printbiblist{abbreviations}
\printbibliography
\end{document}

It has ... "Title", ... for me (with american quotation marks, though). I tried it vice versa (american loaded in babel, german style in csquotes): Then it has ... "Title," ... (with german quotation marks).

So it seems csquotes does not change the punctuation, only the quotation marks.

baem2 commented 8 years ago

\stdpunctuation does not seem to change the behaviour.

ghost commented 8 years ago

Same issue on the sbl-spanish.lbx too.

Perhaps \DeclareQuotePunctuation in biblatex is the culprit?

dcpurton commented 8 years ago

OOOOOOOOHHHHHH! All this time I misunderstood what you want!

You need to add this line to your preamble.

\DefineBibliographyExtras{german}{%
  \uspunctuation
}

You could do something the same for Spanish.

Try this now:

\listfiles
\documentclass{article}
\usepackage[american,german]{babel}

\usepackage[utf8]{inputenc}

\usepackage[style=american]{csquotes}
\usepackage[style=sbl,backend=biber]{biblatex}

\bibliography{lit.bib}

\usepackage{filecontents}
\begin{filecontents}{lit.bib}
@article{leyerle:1993,
  author = {Leyerle, Blake},
  title = {John Chrysostom on the Gaze},
  shorttitle = {Chrysostom},
  journaltitle = {Journal of Early Christian Studies},
  shortjournal = {JECS},
  volume = {1},
  date = {1993},
  pages = {159-174}
}
@book{kaltner+mckenzie:2002,
  editor = {Kaltner, John and McKenzie, Steven L.},
  title = {Beyond Babel: A Handbook for Biblical Hebrew and Related Languages},
  series = {Resources for Biblical Study},
  shortseries = {RBS},
  number = {42},
  location = {Atlanta},
  publisher = {Society of Biblical Literature},
  date = {2002}
}
\end{filecontents}

\DefineBibliographyExtras{german}{%
  \uspunctuation
}

\begin{document}
A short test: \cite{leyerle:1993}

And another one: \cite{kaltner+mckenzie:2002}

%\printbiblist{abbreviations}
\printbibliography
\end{document}
Nhapsie commented 8 years ago

By the way, what about my language, Brazilian Portuguese? I think plain Portuguese would apply only to Portugal so I am wondering how to activate it.

On Jan 18, 2016, at 4:54 PM, David Purton notifications@github.com wrote:

OOOOOOOOHHHHHH! All this time I misunderstood what you want!

You need to add this line to your preamble.

\DefineBibliographyExtras{german}{% \uspunctuation } You could do something the same for Spanish.

Try this now:

\listfiles \documentclass{article} \usepackage[american,german]{babel}

\usepackage[utf8]{inputenc}

\usepackage[style=american]{csquotes} \usepackage[style=sbl,backend=biber]{biblatex}

\bibliography{lit.bib}

\usepackage{filecontents} \begin{filecontents}{lit.bib} @article{leyerle:1993, author = {Leyerle, Blake}, title = {John Chrysostom on the Gaze}, shorttitle = {Chrysostom}, journaltitle = {Journal of Early Christian Studies}, shortjournal = {JECS}, volume = {1}, date = {1993}, pages = {159-174} } @book{kaltner+mckenzie:2002, editor = {Kaltner, John and McKenzie, Steven L.}, title = {Beyond Babel: A Handbook for Biblical Hebrew and Related Languages}, series = {Resources for Biblical Study}, shortseries = {RBS}, number = {42}, location = {Atlanta}, publisher = {Society of Biblical Literature}, date = {2002} } \end{filecontents}

\DefineBibliographyExtras{german}{% \uspunctuation }

\begin{document} A short test: \cite{leyerle:1993}

And another one: \cite{kaltner+mckenzie:2002}

%\printbiblist{abbreviations} \printbibliography \end{document} — Reply to this email directly or view it on GitHub https://github.com/dcpurton/biblatex-sbl/issues/3#issuecomment-172675319.

ghost commented 8 years ago

That worked, thanks David!

I'm trying to figure out this pull request thing so pardon the notifications.

dcpurton commented 8 years ago

@Nhapsie, Should be easy. Translate sbl-english.lbx into Portuguese and call it sbl-portuguese.lbx then create sbl-brazilian.lbx to match sbl-australian.lbx.

Then add these lines with the other language mappings in biblatex-sbl.def:

\DeclareLanguageMapping{portuguese}{sbl-portuguese}
\DeclareLanguageMapping{brazilian}{sbl-brazilian}

Finally, once you are happy that it works, create a pull request and I'll merge it.

(Or if that ends up too confusing... just do the sbl-portuguese.lbx translation and send it to me and I'll add it in.)

baem2 commented 8 years ago

Thank you very much, it is working now! Cool!

So if the portuguese is working, too, we can close here.