8

I am using biblatex to insert references in my LaTeX document. In some bib entries, such as encyclopedia and classic works, I have inserted a shorthand field and decided to cite them only with the shorthand as label, and from beginning to end. This means, I only want to get:

KpV

instead of

Kant 1968 (henceforth cited as KpV)

However, biblatex always outputs them with regular label and shorthandintro in the first time.

Does anyone know how can I get the shorthand as the unique label from the first time, without additional bibliographic data (author, year, title, ...) and without shorthandintro? I just want to cite it with a label like an abbreviation.

Here is a mini example:

    \documentclass{memoir}
    \usepackage{xltxtra,fontspec,xunicode}
    \usepackage[style=philosophy-modern,backend=biber,language=auto]{biblatex}
    \bibliography{bibliography}
    \bibintoc
    \begin{document}
    ......
    \printbibliography
    \end{document}
1
  • 2
    Welcome to TeX.sx! I removed the labels and shorthands tags because they have rather specific meanings (related to diagrams resp. the babel package). Please edit your question to include the style you're using.
    – lockstep
    Sep 24, 2012 at 17:06

1 Answer 1

8

You didn't mention the style you're using, so here's a solution for the verbose style which includes the shorthand mechanism described in your question (though a "full" entry is printed in first citations). For verbose, you have to switch the tests inside the cite bibmacro -- I've included the original definition and my redefinition.

\documentclass{article}

\usepackage[style=verbose]{biblatex}

% Original definition
% \newbibmacro*{cite}{%
%   \usebibmacro{cite:citepages}%
%   \ifciteseen
%     {\iffieldundef{shorthand}
%        {\usebibmacro{cite:short}}
%        {\usebibmacro{cite:shorthand}}}
%     {\usebibmacro{cite:full}}}

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \iffieldundef{shorthand}
    {\ifciteseen
       {\usebibmacro{cite:short}}
       {\usebibmacro{cite:full}}}
    {\usebibmacro{cite:shorthand}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{Kan68,
  shorthand = {KpV},
  author = {Kant, Immanuel},
  year = {1968},
  title = {Kritik der praktischen Vernunft},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text.\autocite{Kan68}

Some text.\autocite{Kan68}

Some text.\autocite{A01}

Some text.\autocite{A01}

\printshorthands

\printbibliography

\end{document}

enter image description here

EDIT: As you're using the philosophy-modern style, there's no need to modify internal macros; simply use the package option shorthandintro=false.

\documentclass{article}

\usepackage[style=philosophy-modern,backend=biber,language=auto,
     shorthandintro=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{Kan68,
  shorthand = {KpV},
  author = {Kant, Immanuel},
  year = {1968},
  title = {Kritik der praktischen Vernunft},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text.\autocite{Kan68}

Some text.\autocite{Kan68}

Some text.\autocite{A01}

Some text.\autocite{A01}

\printshorthands

\printbibliography

\end{document}

enter image description here

1
  • Great! It works now. Many thanks to you! I forgot this option in original biblatex... I think maybe the developer of biblatex-philosophy should provide a more detailed documentation in English.
    – insight
    Oct 23, 2012 at 1:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .