# Partial and complete citations with biblatex in the same document

Well, this is maybe an odd question but the issue is the following:

I'm working on a set of articles, some of them with references since I'm using the Tufte LaTeX for composing them. So this class uses to cite the references as sidenotes. That's a good feature IMO, but the problem is when the PDF output shows all the info of every single reference cited, and sometimes the margin with the sidenotes is overloaded with information.

A nice solution IMO could be to print in the sidenotes only the author's name, the title and maybe the year, not in that order of course. And print the whole bibliography with all the information at the end of the article with the ISBN, pages, URL and all the extra info we could add to the references.

So my question is, does any way exist to accomplish this with biblatex?

My code:

\PassOptionsToPackage{usenames,dvipsnames,table}{xcolor}
\documentclass[twoside,symmetric,nobib]{tufte-handout} %
\usepackage{etex}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{marginfix}
\usepackage[style=american]{csquotes}
\usepackage[autocite=footnote,%
backend=biber,%
date=short,%
style=verbose-inote,%
url=false]%
{biblatex}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=doi null]
}
}
}
\begin{document}

\newthought{This is an essay about technology}, power relations, and basic
dignity.  It is about the commercialization of online platforms and the
difficulties of retaining individual power and autonomy online.  It is about
the gentrification of the internet. When I call the internet gentrified, I’m
describing shifts in power and control that limit what we can do online. I’m
also calling out an economy and industry that prioritize corporate profits
over the public good and pointing to the ways that some forms of online
behavior have become the  \enquote{right} way to use the Web, while other
forms of behavior get labeled backward or out of date. In the early days, the
Web was driven by experiments in technology, DIY community-building and
curiosity around connecting with strangers from across the world. The Web we
have now is guided by different principles, like business models that rely on
a  constant transfer of data \autocite{Tufecki2018} from people to
marketers, social norms of consumption\autocite{Mammoser2018} and self-
promotion\autocite{Marwick2015}, and black boxing\autocite{Pasquale2015} the
algorithms that structure the platforms we use. The internet is increasingly
making us more isolated, less democratic, and beholden to major corporations
and their shareholders. In other words, the internet is increasingly
gentrified.

\printbibliography
\end{document}


The cited references:

@Online{Tufecki2018,
author = {Tufecki, Zeynep},
editor = {{The New York Times}},
title  = {The Latest Data Privacy Debacle},
date   = {2018-01-30},
url    = {https://www.nytimes.com/2018/01/30/opinion/strava-privacy.html},
}

@Online{Mammoser2018,
author   = {Mammoser, Giger},
editor   = {Healthline},
title    = {The FOMO Is Real: How Social Media Increases Depression and Loneliness},
date     = {2018-12-09},
url      = {https://www.healthline.com/health-news/social-media-use-increases-depression-and-loneliness},
subtitle = {New research reveals how social media platforms like Facebook can greatly affect your mental health},
}

@Book{Marwick2015,
author    = {Marwick, Alice E.},
title     = {Status Update},
year      = {2015},
subtitle  = {Celebrity, Publicity, and Branding in the Social Media Age},
publisher = {Yale University Press},
isbn      = {9780300209389},
url       = {https://yalebooks.yale.edu/book/9780300209389/status-update},
urldate   = {2019-07-03},
}

@Book{Pasquale2015,
author    = {Pasquale, Frank},
title     = {The Black Box Society},
year      = {2015},
subtitle  = {The Secret Algorithms That Control Money and Information},
isbn      = {9780674368279},
pagetotal = {320},
url       = {http://www.hup.harvard.edu/catalog.php?isbn=9780674368279},
urldate   = {2019-07-03},
}

• There are at least three ways: (i) Use \fullcite and delete superfluous fields with \AtEveryCitekey{\clearfield{url}\clearfield{urlyear}\clearfield{pagetotal}}. (ii) Define a new \slightlyfullercite that prints author, year and title. (tex.stackexchange.com/q/490049/35864) (iii) Patch your current style to add more fields to short citations (tex.stackexchange.com/q/389665/35864, tex.stackexchange.com/q/249762/35864). – moewe Sep 13 '19 at 5:44
• Thanks for the answer, but... What do you mean with \slightlyfullercite, is it a new Biblatex command? – Aradnix Sep 14 '19 at 5:32
• A no, I meant new as in you have to define it as a new command. See my answer below. – moewe Sep 14 '19 at 6:46

1. Delete fields you don't want to see in \AtEveryCitekey{...} with \clearfield, \clearlist and \clearname.

2. Use a different style (style=authortitle) and patch its cite command to add more fields to citations.

3. Define a new custom cite command that prints only the info you want to see.

## 1. Delete fields in citations with \AtEveryCitekey

If you don't have that many fields you want suppressed in citations, it is quite easy to just issue the relevant \clear... commands in \AtEveryCitekey and keep using \fullcite/\autocite/verbose-\cite

\AtEveryCitekey{%
\clearfield{url}%
\clearfield{subtitle}%
\clearname{editor}%
\clearlist{organization}%
}


Note that you need to know the type (field, list, name (list)) of the field you want to remove. The types are listed in the Database Guide of the biblatex manual.

See for example also I need to make a slightly-less-than-\fullcite.

\documentclass[twoside,symmetric,nobib]{tufte-handout}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{marginfix}
\usepackage[style=american]{csquotes}
\usepackage[backend=biber,
style=verbose-inote,
autocite=footnote,
date=short,
url=false]{biblatex}

\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=doi, null]
}
}
}

\AtEveryCitekey{%
\clearfield{url}%
\clearfield{subtitle}%
\clearname{editor}%
\clearlist{organization}%
\clearlist{publisher}%
\clearlist{location}%
}

\begin{document}
Lorem\autocite{sigfridsson}
ipsum\autocite{cicero}
dolor\autocite{worman}
sit\autocite{markey}

\printbibliography
\end{document}


As you can see, the printed citation is still quite verbose, so the list of cleared fields is probably going to be quite long. It is a good solution if you want to suppress a small number of fields quickly, but for the verbose style, things get messy.

## 2. Add fields to a different style

In a way this is the complement of 1. Instead of asking biblatex to print verbose citations and delete info, ask it to print authortitle citations and patch the commands to add info. This is explained in Beamer: How to add "Year" information to footcite?.

\documentclass[twoside,symmetric,nobib]{tufte-handout}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{marginfix}
\usepackage[style=american]{csquotes}
\usepackage[backend=biber,
style=authortitle,
autocite=footnote,
date=short,
url=false]{biblatex}

\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=doi, null]
}
}
}

\usepackage{xpatch}
\xpatchbibmacro{cite}
{\usebibmacro{cite:title}}
{\usebibmacro{cite:title}%
\usebibmacro{date}}
{}
{}

\begin{document}
Lorem\autocite{sigfridsson}
ipsum\autocite{cicero}
dolor\autocite{worman}
sit\autocite{markey}

\printbibliography
\end{document}


Of course patching relies on the internal structure of the macros and is not always as flexible as one might hope.

## 3. Define a new cite command

This is the most stable solution that additionally leaves all other cite commands untouched.

\documentclass[twoside,symmetric,nobib]{tufte-handout}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{marginfix}
\usepackage[style=american]{csquotes}
\usepackage[backend=biber,
style=verbose-inote,
date=short,
url=false]{biblatex}

\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldset=doi, null]
}
}
}

\newbibmacro*{fajycite}{%
\iffieldundef{shorthand}
{\printtext[bibhyperref]{%
\printnames{labelname}%
\setunit*{\printdelim{nametitledelim}}%
\printfield[citetitle]{labeltitle}%
\printdate}}
{\usebibmacro{cite:shorthand}}}

\DeclareCiteCommand{\fajycite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{fajycite}}
{\multicitedelim}
{\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\fajycites}[\mkbibfootnote]{\ajycite}{\multicitedelim}

\DeclareAutoCiteCommand{fajy}{\fajycite}{\fajycites}

\ExecuteBibliographyOptions{autocite=fajy}