Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

question: I need the following entry in the bibliography

Doe John, Title of Book, Location Year.

or, if it's an article

Doe John, Title of Article, Journal Volume (Year) pages

I have the following code:

\renewbibmacro*{publisher+location+date}{%
        \iffieldundef{location}{%
            \printtext[parens]{%
                \printlist{year}\addspace%
                }}{%
            \printfield{location}\addspace%
            \printlist{year}\addspace%
        }
}

however the output for this is:

  1. Book:

Doe John, Title of Book, ( ).

  1. Article:

Doe John, Title of Article Volume (Year).

However, the book should be displayed as follows:

Doe John, Title of book, Location Year.

Any help appreciated.

MWE (complete):

\documentclass[10pt,twoside,headings=normal,headsepline=true,numbers=noenddot]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{helvet}
\usepackage{nomencl}
\usepackage{shorttoc}
\usepackage{tocloft}
\usepackage{hyperref}
\usepackage[left=4.5cm,right=4.5cm,top=5.5cm,bottom=5.5cm]{geometry}
\usepackage[backend=biber,sorting=nty,style=verbose,isbn=false,url=false,publisher=false]{biblatex}
\usepackage{nomencl}
\usepackage{makeidx}
\usepackage{filecontents}
\begin{filecontents}{MWE.bib}
@INCOLLECTION{Doe1999,
  author = {John Doe},
  title = {Title of Book},
  publisher = {Kluwer Law International},
  year = {1999},
  volume = {25},
  series = {Series},
  shortauthor = {Doe},
  shorttitle = {Title of Book}
}
\end{filecontents}
\renewcommand\thechapter{\arabic{chapter}.}
\renewcommand\thesection{§ \arabic{section}}
\renewcommand\thesubsection{\Roman{subsection}.}
\renewcommand\thesubsubsection{\arabic{subsubsection}.}
\renewcommand\theparagraph{\alph{paragraph})}
\renewcommand\thesubparagraph{\alph{paragraph}\alph{subparagraph})}
\newcommand\thesubsubparagraph{\alph{paragraph}\alph{subparagraph}\alph{subsubparagraph})}
\renewcommand{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand{\mkbibnameaffix}[1]{\textsc{#1}}
\renewcommand*{\revsdnamepunct}{}
\defbibheading{lit}{\chapter*{Lit}}
\defbibheading{mat}{\chapter*{Mat}}
\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished,shorttitle,journal]{title}{#1}
\renewbibmacro*{finentry}{
                \ifnameundef{shortauthor}
                {
                    \iffieldundef{shorttitle}{%
                    \adddot}{
                    \printtext[parens]{%
                    {cit.}\addspace
                    \printfield{shorttitle}%
                    }\adddot
                    }
                }
                {
                    \iffieldundef{shorttitle}
                    {
                        \printtext[parens]{%
                        {cit.}\addspace
                        \printnames{shortauthor}%
                        }\adddot
                    }
                    {
                        \printtext[parens]{%
                        {cit.}\addspace
                        \printnames{shortauthor}\addcomma\addspace
                        \printfield{shorttitle}%
                        }\adddot
                    }
                }
                }\finentry
\renewbibmacro*{publisher+location+date}{%
        \iffieldundef{location}{%
            \printtext[parens]{%
                \printlist{year}\addspace%
                }}{%
            \printlist{location}\addspace%
            \printlist{year}\addspace%
        }
}
\AtEveryBibitem{\clearfield{publisher}}
\renewcommand{\newunitpunct}{\addcomma\addspace}
\ifpunct{\renewcommand*{\nameyeardelim}{\addspace}}{}
\addbibresource{MWE.bib}
\let\abk\nomenclature%
\makenomenclature
\makeindex
\dedication{\hfill You really reading this shit?}
\author{XYZ}
\title{XYZ}
\setlength{\parindent}{0in}
\setlength\overfullrule{50pt}
\begin{document}
\frontmatter
\pagenumbering{Roman}
\maketitle
\dedication
\thispagestyle{empty}
\renewcommand*{\dictumauthorformat}[1]{#1}
\renewcommand*{\dictumrule}{}
\dictum[Winston Churchill]{If you're going through hell, keep going.}
\newpage
\addcontentsline{ubs}{chapter}{Preface}
\chapter*{Vorwort}
\input{Preface}
\newpage
\addcontentsline{ubs}{chapter}{Overview}
\shorttoc{Overview}{1}
\newpage
\addcontentsline{ubs}{chapter}{ToC}
\tableofcontents
\addcontentsline{ubs}{chapter}{Nomenclature}
\printnomenclature
\printbibliography[title={Lit},heading=lit,notkeyword=mat]
\printbibliography[title={Mat},heading=mat,keyword=mat]
\mainmatter
Lorem ipsum\footcite[p. 1]{Doe1999}.
\backmatter
\addcontentsline{ubs}{chapter}{Index}
\printindex
\end{document}

Also, I would be grateful if someone could advice on how to use only the text in the (cit. shortauthor, shorttitle) in the actual footnote..

share|improve this question
    
Above all else, I would use different bibmacros for book and article entries. –  jon Jan 28 '13 at 22:25
2  
Please prepare a minimal working example (MWE) that shows what you have tried until now. Include a sample bib file with package filecontents. Do you use biblatex? Which document class? Other relevant packages for the bibliography? –  Kurt Jan 28 '13 at 22:32
    
Welcome to TeX.sx! Usually, we don't put a greeting or a "thank you" in our posts. While this might seem strange at first, it is not a sign of lack of politeness, but rather part of our trying to keep everything very concise. Upvoting is the preferred way here to say "thank you" to users who helped you. –  Guido Jan 29 '13 at 15:51
add comment

1 Answer

up vote 3 down vote accepted

The verbose style and its variants follow an authortitle-style bibliography, which is closely based on the standard style defined in standard.bbx.

From this file you can see that the punctuation preceding publication dates are set by a few different bibliography macros, depending on the entry type: issue+date for @article, publisher+location+date for most books, institution+location+date for reports and theses, organization+location+date for @misc, and location+date for @booklet and @unpublished.

In issue+date publication dates are already set in parentheses. To remove punctuation before the page reference you can redefine the \bibpagespunct command from biblatex.def in your preamble:

\renewcommand*{\bibpagespunct}{%
  \ifentrytype{article}{\addspace}{\addcomma\space}}

To remove page prefixes (e.g. "p." and "pp.") add:

\DeclareFieldFormat{page}{#1}
\DeclareFieldFormat{pages}{#1}

The comma preceding the publication date in other entry types can originate from a few different places. For example in publisher+location+date:

\newbibmacro*{publisher+location+date}{%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}% <- HERE
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}% <- OR HERE
  \usebibmacro{date}%
  \newunit}

Same goes for the other *location+date macros. To remove the commas change all relevant instances of \addcomma\space to \addspace in your redefinitions. Otherwise you can use the following dirty trick (at your own risk):

\renewbibmacro*{date}{\setunit{\addspace}\printdate}

In all these publications dates, if you are just wanting to print the publication year add the following to your preamble.

\AtEveryBibitem{%
  \clearfield{month}%
  \clearfield{day}}

\AtEveryCitekey{%
  \clearfield{month}%
  \clearfield{day}}

Your last request about use of shortauthor and shorttitle in citations would be better addressed as a new question. It needs to be clarified anyway.

share|improve this answer
    
Thanks very much Audrey! I dug into the bbx files (after finding where they are saved: "..\MiKTeX 2.9\tex\latex\biblatex") and with your help it's now working! –  user19581 Feb 10 '13 at 14:08
1  
@user19581 No problem. You should avoid editing the source files. You can easily do this by redefining bibliography macros in your document preamble or the configuration file biblatex.cfg via \renewbibmacro or its starred variant \renewbibmacro*. These only work when the macro is defined. So when editing a style-specific macro <macro> (defined outside biblatex.def or standard.bbx), preface the redefinition in biblatex.cfg with \providebibmacro{<macro>}{} or \providebibmacro*{<macro>}{}. –  Audrey Feb 10 '13 at 17:09
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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