2

I can't get my Ibidem go uppercase when needed.

I tried the \autocap, without success:

MWE:

% !BIB TS-program = biber
% !BIB program = biber
% !TEX encoding = UTF-8 Unicode
% !TeX TS-program = xelatexmk

\begin{filecontents}{archivio.bib}

@collection{Bre:Mo2,
    Title = {Questo è il titolo con 2 curatori},
    Address = {Bari},
    Editor = {John Smith AND James Brown},
    Publisher = {Laterza},
    Year = {1998}}  

\end{filecontents}


\documentclass[A4, 11pt, twoside, openright]{book}
\usepackage{fontspec}
\usepackage{polyglossia}                        
    \setmainlanguage{italian}

\usepackage{xpatch}     
\usepackage[style=verbose-trad2,            
            language=italian,
            ibidpage=true,
        ]{biblatex} 

\NewBibliographyString{ibidemloccit,ibidemnoloccit}

\renewbibmacro*{cite:ibid}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \ifloccit
        {\bibstring[\mkibid]{ibidemloccit}%
         \global\toggletrue{cbx:loccit}}
        {\bibstring[\mkibid]{ibidemnoloccit}}}}}

\DefineBibliographyStrings{italian}{ibidemloccit={\mkbibemph{\autocap{i}bidem}}}

\addbibresource{archivio.bib}  


\begin{document}

I just want the “Ibidem" go on autocap. So after the fullstop the “I” must be uppercase:\\

\cite[178-179]{Bre:Mo2}
\vspace*{2ex}

And now fullstop. \cite[178-179]{Bre:Mo2}

\end{document}
1

\autocap works as intended in your example, but it alone can't help here.

The problem is that biblatex can not detect preceding punctuation. The \cite simply does not know that it comes after a period or rather at the beginning of a new sentence. If you want to start a sentence with a citation, you should use the capitalised form \Cite instead of \cite (\Autocite instead of \autocite etc. etc.). It is not possible to automatically detect previous punctuation reliably without larger changes to the LaTeX setup.

\documentclass[a4paper, 11pt, twoside, openright]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
    \setmainlanguage{italian}

\usepackage{csquotes}
\usepackage[style=verbose-trad2,
            ibidpage=true,
        ]{biblatex}

\NewBibliographyString{ibidemloccit,ibidemnoloccit}

\renewbibmacro*{cite:ibid}{%
  \printtext{%
    \bibhyperlink{cite\csuse{cbx@lastcite@\thefield{entrykey}}}{%
      \ifloccit
        {\bibstring[\mkibid]{ibidemloccit}%
         \global\toggletrue{cbx:loccit}}
        {\bibstring[\mkibid]{ibidemnoloccit}}}}}

\DefineBibliographyStrings{italian}{ibidemloccit={\mkbibemph{\autocap{i}bidem}}}

\addbibresource{biblatex-examples.bib}

\begin{document}
I just want the “Ibidem" go on autocap. So after the fullstop the “I” must be uppercase:

\cite[178-179]{sigfridsson}

And now fullstop. \Cite[178-179]{sigfridsson}
\end{document}

And now fullstop. Ibidem

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.