Because @Andy found that my question has an inconsequence, I rewrote my question with new style (cbx) file (thanks!).
Verbose is a good style in our research field, in so far as books are cited only in footnote. But I want to refer some books (some elementary sources and some secondary) also in body with the following way. A current popular citation style in humanities is:
Notice that citation forms of the books, one of which has "Im folgenden Zitat…" (henceforth cited as…) and the other one does not have. Some sources in my .bib file have a definition of the shorthand field, the other have no definition. Classical books, such as Kant's Kritik der praktischen Vernunft, have an abbreviation. In this case the source should be display with it (neither "Kant, 1788" nor "Kant, KpV", but just "KpV"), while the other sources are cited as author-year (I need no declaration "henceforth cited as…" in this case).
As I found http://www.latex-community.org/forum/viewtopic.php?f=4&t=852 , I'd want to do like this. Following code, which is modified from verbose.cbx, is saved as "verbose-authoryear.cbx". The file, which ist named "verbose-authoryear.bbx", is same as verbose-authoryear.bbx.
\ProvidesFile{verbose.cbx}
[\abx@cbxid $Id: verbose.cbx,v 1.6 2011/07/29 19:21:28 lehman stable $]
\InitializeCitationStyle{\numgdef{\cbx@resetcount}{\cbx@resetcount+1}}
\DeclareFieldFormat{bibhyperlink}{%
\bibhyperlink{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}}
\DeclareFieldFormat{bibhypertarget}{%
\bibhypertarget{\iffootnote{f}{t}:\cbx@resetcount:\thefield{entrykey}}{#1}}
\newcommand*{\cbx@resetcount}{0}
\newbibmacro*{cite:citepages}{}
\newbibmacro*{cite:full:citepages}{}
\newbibmacro*{cite:postnote}{}
\DeclareBibliographyOption{citepages}[permit]{%
\ifcsdef{cbx@opt@citepages@#1}
{\csuse{cbx@opt@citepages@#1}}
{\PackageError{biblatex}
{Invalid option 'citepages=#1'}
{Valid values are 'permit', 'suppress', 'omit', 'separate'.}}}
\providebibmacro*{cite:citepages}{}
\providebibmacro*{cite:full:citepages}{}
\providebibmacro*{cite:postnote}{}
\def\cbx@opt@citepages@permit{%
\renewbibmacro*{cite:citepages}{}%
\renewbibmacro*{cite:full:citepages}{}%
\renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}}
\def\cbx@opt@citepages@suppress{%
\renewbibmacro*{cite:citepages}{}%
\renewbibmacro*{cite:full:citepages}{%
\clearfield{pages}%
\clearfield{pagetotal}}%
\renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}}
\def\cbx@opt@citepages@omit{%
\renewbibmacro*{cite:citepages}{}%
\renewbibmacro*{cite:full:citepages}{%
\ifboolexpr{
test {\ifnumequal{\value{citecount}}{\value{citetotal}}}
and
test {\iffieldpages{postnote}}
}
{\clearfield{pages}%
\clearfield{pagetotal}}
{}}%
\renewbibmacro*{cite:postnote}{\usebibmacro{postnote}}}
\def\cbx@opt@citepages@separate{%
\providetoggle{cbx:fullcite}%
\renewbibmacro*{cite:citepages}{%
\global\togglefalse{cbx:fullcite}}%
\renewbibmacro*{cite:full:citepages}{%
\global\toggletrue{cbx:fullcite}}%
\renewbibmacro*{cite:postnote}{%
\ifboolexpr{
togl {cbx:fullcite}
and
test {\iffieldpages{postnote}}
and
test {\ifnumequal{\value{citecount}}{\value{citetotal}}}
and
(
not test {\iffieldundef{pages}}
or
not test {\iffieldundef{pagetotal}}
)
}
{\usebibmacro{cite:postnote:pages}}
{\usebibmacro{postnote}}}
\providebibmacro*{cite:postnote:pages}{%
\setunit{\postnotedelim}%
\bibstring{thiscite}%
\setunit{\addspace}%
\printfield{postnote}}}
\ExecuteBibliographyOptions{citetracker=context,autocite=footnote,citepages=permit}
%\newbibmacro*{cite}{%
% \usebibmacro{cite:citepages}%
% \ifciteseen
% {\iffieldundef{shorthand}
% {\usebibmacro{cite:short}}
% {\usebibmacro{cite:shorthand}}}
% {\usebibmacro{cite:full}}}
%replaced the last section with the following section
%by asblom http://www.latex-community.org/forum/viewtopic.php?f=4&t=852
\newbibmacro*{cite}{%
\ifciteseen
{\iffieldundef{shorthand}
{\ifnameundef{author}{\usebibmacro{cite:title}}{\usebibmacro{cite:name}}%
\usebibmacro{cite:year}}
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}}}
\newbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\newbibmacro*{cite:short}{%
\printnames{labelname}%
\setunit*{\nametitledelim}%
\printtext[bibhyperlink]{%
\printfield[citetitle]{labeltitle}}}
\newbibmacro*{cite:shorthand}{%
\printtext[bibhyperlink]{\printfield{shorthand}}}
%added by asblom
\newbibmacro*{cite:year}{%
\printfield{year}%
\setunit*{\addcomma\space}}
%assumed adding by akira ueda (from verbose-trad1.cbx)
\newbibmacro*{cite:name}{%
\printnames{labelname}%
\setunit*{\nametitledelim}}
\DeclareCiteCommand{\cite}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\endinput
But as I wrote the following TeX document,
\documentclass{report}
\usepackage[dvips]{graphicx}
\usepackage[ngerman]{babel}
\usepackage[
style=verbose-authoryear,
]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\renewcommand\mkbibnamelast[1]{\textsc{#1}}
\renewcommand\mkbibnamefirst[1]{\textsc{#1}}
\begin{filecontents*}{biblatex-examples.bib}
@Book{kant:kpv,
shorthand = {KpV},
hyphenation = {german},
author = {Kant, Immanuel},
bookauthor = {Kant, Immanuel},
title = {Kritik der praktischen Vernunft},
shorttitle = {Kritik der praktischen Vernunft},
booktitle = {Kritik der praktischen Vernunft. Kritik der Urtheilskraft},
year = {1788},
}
@Book{adorno-probleme,
hyphenation = {german},
author = {Adorno, Theodor W.},
title = {Probleme der Moralphilosophie},
shorttitle = {Probleme},
location = {Frankfurt am Main},
year = {1996},
\end{filecontents*}
\bibliography{biblatex-examples}
\begin{document}
Als Kant in der \cite{kant:kpv}, es geschrieben hat, war die Lage anders. Er schrieb,
"`Handle so, dass die Maxime deines Willens..."'.\footnote{\cite{kant:kpv}, S.54.}
Theodor W.Adorno erkl"art diesen Satz so, dass diese kategorische Imperativ die moderne
Vernunft voraussetzt.\footnote{Vgl. \cite{adorno-probleme}, S.30ff. Er tat Vorlesung
nach Kant.}
Nach Adornos Ansicht ist die Trennung von Antik und Moderne ansichtig.
\footnote{Schrieb er so deutlich. Siehe \cite{adorno-probleme}, S.30f.} Adorno:
"`In der modernen Zeit ist die Vernunft sowohl gemeinsam als auch pers"onlich"'
(\cite{adorno-probleme}, S.50).
\printshorthands
\printbibliography
\end{document}
I found a problem. Full bibliography emerges two times, if I cited not only in the footnote but also in the body. I'd like to put in the full bibliography in the footnote, even if I cited firstly on the body. How can I solve?
P.S.
This verbose-authoryear.cbx was made, as I've just started to learn LaTeX (one week ago). Now I'm informed that I should make new citation style with writing in preamble rather than making new cbx. file. I'm wondering I can do it.
Best Answer
Your desired citation style runs into a number of issues, many of which aren't addressed in the sample output you provided. Being new to
biblatex
, this is understandable. However it is difficult to provide a solution without knowing how you're wanting to handle each problem. I've made some guesses, summarized as follows.Prenotes and postnotes
If the first citation is inline
\cite[prenote][postnote]{key}
, where shouldprenote
andpostnote
go - inline or in the footnote? I've assumed in the footnote. Inline multi-citationsfollow the same rule, but
multiprenote
andmultipostnote
are printed inline.Disambiguation
The verbose styles are based on the author-title bibliography style. Different entries having the same
author
andyear
would have ambiguous author-year citations without use of thelabelyear
field. This field can be made available with the option settingsstyle=verbose,labelyear=true
orbibstyle=authoryear,citestyle=verbose
. The example below takes the latter approach.Verbose styles
There are a number of variants of the style
verbose
. The solution below should work withcitestyle
set to any of the standard verbose styles (verbose-ibid
,verbose-trad1
, etc).Punctuation
In the example document the location of punctuation around some inline citations is less than ideal. For example in the first citation "KU.1" better than "KU 1." Trailing punctuation can be parsed by
\autocite
and low-level citation commands (as discussed in a previous question). This would require a different approach than the one shown below. It wouldn't readily extend to qualified citation lists, but hopefully this limitation will improve with upgrades tobiblatex
.