# How to omit author field of a citation locally in biblatex?

I need to create a list of citation shorthands, but my document only uses shorthands to works of one single author. The full citation scheme in shorthands is, therefor, redundant: It should omit the author's name.

That is achievable by reseting the author field with an \AtBeginShorthands, like:

\AtBeginShorthands{\renewbibmacro*{author}{}}


But I also need this behavior in other places: There's a section i the document where I'm planning to put a description list, introducing and explaining the main bibliography...

I'd like to create a separate bibliography, something like “Works by Author Name”, where the author's name would also be redundant... (I think this supposed to be made inside a \defbibenvironment but I don't know how)

So, summarizing:

• 1) how to reset author bibmacro inside a single environment
• 2) how to reset author bibmacro inside a separated bibliography
-
i managed to do the first thing --- reset author bibmacro inside an environment --- simply by adding \renewbibmacro*{author}{}at the beginning of the environment (Sorry, there were a problem in my test file)... But I still don't know how to use \defbibenvironment... –  henrique Jun 4 '11 at 19:11

Prenote: Although you state to have managed resetting the author field inside an environment, I'm afraid that \renewbibmacro*{author}{} will cover many, but not all cases. (The standard bibliography drivers use a lot of different bibmacros!)

For a separated bibliography, I suggest to clone the bibenvironment used by your favourite bibliography/citation style and to add \clearname{author} (and \clearname{editor}) to the fourth mandatory argument of \defbibenvironment -- the one that contains "code to be executed at the beginning of each entry in the bibliography or the list of shorthands" (manual, section 3.5.7).

In the following example, I have also semi-automatized the creation of the "Works by author name" bibliographies. biblatex doesn't (yet?) feature a \bibbyauthor command, but you can declare categories for the different authors and use \bibbycategory.

\documentclass{article}

\usepackage[defernumbers=true]{biblatex}

\defbibenvironment{bibnoauthors}
{\list
{\printtext[labelnumberwidth]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\clearname{author}%
\clearname{editor}%
\item}

\DeclareBibliographyCategory{Author}
\DeclareBibliographyCategory{Buthor}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01x,
author = {Author, A.},
year = {2001},
title = {Alpha-First},
}
@misc{A01y,
author = {Author, A.},
year = {2001},
title = {Alpha-Second},
}
@misc{B02,
editor = {Buthor, B.},
year = {2002},
title = {Bravo},
}
\end{filecontents}

\nocite{*}

\begin{document}

\bibbycategory[env=bibnoauthors]

\printbibliography

\end{document}

-
Thanks @lockstep! It works perfectly! I had just been able to do it my own way: by adding the \renewbibmacro{author}{} to the "begin code" section of \defbibenvironment, and splitting the bibliography by adding keywords to the .bib file... But that's not such a good idea, since it requires to change the bibliography database... –  henrique Jun 4 '11 at 20:09
I still faced same problems with your solution, because the style I'm using (verbose-trad3) substitutes the missing author field by the editor one, and if I \clearname both of them, I empoverish my reference too much. The editor's name is important to the point of being irremovable, but not to the point of being highlighted... So, in this case, \renewbibmacro{author}{} works best for me. –  henrique Jun 6 '11 at 16:27