0

I am using biblatex and really liking the flexibility, though I have to say there are too many options for a single person to understand in a lifetime :-/ So far I do two things with cited references. First, print a 'footnote' with the condensed information on the same page as the citation (the footnote actually goes to the margin because I'm using tufte) Second, at the end print the complete bibliogprahy as usual.

I do this using among other things, these commands: To slim down the citations, but not the bibliography I use

\usepackage[..., maxcitenames=1, maxbibnames=99]{biblatex}
\AtEveryCitekey{...\clearfield{title}}

Which works quite nicely. I would like to change one thing tough. Since my 'footnotes' go to the margin, I would like to add a newline after the author name, for every citation, but not for the bibliography. Since all of them will take up two lines anyway, I'd rather break them nicely,

Some Author et al.
Journal X (2000), yy-zz

Instead of some random jumble of

Some Author et al. Journal
X (2000), yy-zz

So basically: how to change the separator after Author to a newline for a fullcite only?

A MWE would be the following one:

\documentclass{article}
\usepackage{hyphenat}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[maxcitenames=1, maxbibnames=99,  isbn=false, doi=false, url=false, eprint=false, bibstyle=numeric, citestyle=numeric-comp, backend=biber]{biblatex}
\addbibresource{~/library.bib}
\AtEveryCitekey{\clearfield{title}\clearfield{number}\clearfield{month}}% Removes things for footnotes 
\AtEveryBibitem{\clearfield{number}\clearfield{month}}%Remove things for Bibliography only

\renewcommand{\labelnamepunct}{\newline}
\begin{document}
This is of interest.\footfullcite{FamousPerson2000}
\printbibliography
\end{document}

While the \labelnamepunct{} does something for the bibliography, I cannot get it to work for the footnote (inside the \AtEveryCiteKey{} also doesn't work

Bernhard
  • 385
  • 1
  • 3
  • 16
  • A MWE would be really helpful here even though your question's objective is quite clear. A solution might slightly depend on the style you are using etc. – moewe Feb 18 '15 at 11:12
  • Maybe try \AtEveryCitekey{\renewcommand{\labelnamepunct}{\linebreak}\clearfield{title}}, but without an MWE that's just guessing. – moewe Feb 18 '15 at 11:27
  • your idea is not working for footnotes (not even as the very general \renewcommand{\labelnamepunct}{\linebreak}. I tried to get around providing a MWE, since my setup is a lot more complicated than that. But I will get to it now, and distill it down. I am using numeric-comp and \footfullcite{} basically – Bernhard Feb 18 '15 at 13:35
  • Just tested it in a document I made up from scratch using tufte-book, \usepackage[style=numeric-comp,backend=biber]{biblatex} and \footfullcite{foo} and it works quite fine. One might add that having a numeric style, but only using \footfullcite does not really make sense. – moewe Feb 18 '15 at 13:44
  • 1
    Ahhh, I see, the problem becomes infinitely more complicated because you delete the title field. biblatex's punctuation tracker makes sure that no duplicate punctuation occurs, the punctuation between name and title, which we modify, is overwritten by the following punctuation. One would have to replace each \setunit{\labelnamepunct} by a \printunit{\labelnamepunct} for this fix to work. – moewe Feb 18 '15 at 14:05
  • Is \labelnamepunct the punctuation after every kind of entry? (name, journal, year...) or only after the name? How to implement your proposed fix? Also, could you please elaborate on why the numeric style is senseless here? (technical or stylistic reason?) I am asking sincerely, since this is something I never quite understood, I started using biblatex without really understanding it, and I am only really using numeric because I never got the alphabetic style to work reasonably. Also: I don't really want to "delete" the title field, I just don't want to print it. Is there a better way? – Bernhard Feb 18 '15 at 15:06
  • No \labelnamepunct is a special punctuation between the (author) name and the title of the entry. But if we delete the title this punctuation is over-ridden by the following punctuation. Thus my initial solution does not work and the only other way I could think of is very, very convoluted. (Your way of "not printing" the title field in citations is the best there is, I think. - It just poses a problem in this particular setting, but other ways should also suffer from this drawback) – moewe Feb 18 '15 at 15:10
  • To me, the numeric style is senseless since it seems to me that in your document you don't actually use the numbers to refer to an item in the bibliography, so in the bib the numbers just stand around and do nothing. Maybe verbose is for you (get rid of bibstyle=numeric, citestyle=numeric-comp for this and add style=verbose instead). Here are lots of examples of different styles -- 71-style-verbose-ibid.pdf for example. – moewe Feb 18 '15 at 15:14
  • I'm with moewe on the use of numeric. The idea of the numbers is that they are the labels which enable a reader to find the relevant item in the bibliography. For this to work, you have to use the labels when citing the items in your document. The main alternative is author-year, where the author-year constitutes the label and is used by the reader to find the relevant item in the bibliography. More generally, I wonder why exactly you want so much information in the marginal notes. Why not use a label (numeric, alph-like, author-year, whatever) and keep things uncluttered? – cfr Mar 06 '15 at 23:19
  • Removing the number and month from bibliography entries just makes it harder for your reader to track down a source. The whole point of citations and a bibliography is to make it easier to find the sources. Not having the number or month for journal articles makes it more difficult to figure out which issue contains the relevant paper. Sometimes it makes no real difference because page numbers are given alongside numbers etc. But not always. When they are not, your reader has to guess which issue within the year might contain the relevant pages. – cfr Mar 06 '15 at 23:22
  • Just one other point: I would be very wary of a forced line-break after the name, it is much better to make sure that LaTeX's hyphenation algorithm can do its thing properly and that there is enough space in the margin for a citation (smaller text in margin notes, wide margins). After all you don't want to break a line after say "Li Yan" with quite some space left. When I used tufte-book I got quite pleasing results with the authoryear style, but I also think verbose (or one of its derivatives) looks good as long as you don't have too many citations in rapid succession. – moewe Mar 08 '15 at 10:14
  • @cfr here I posted why I cannot use an author-year style, if you have an idea on how to get that to work, I'd be grateful. The way it is set up, in the marginnote, the journal name is a link to the specific article. That way you see the note, see the citation in the margin, and have the link clickable right there. Every citation occupies exactly 2 lines. I do want to break after LiYan. Imagine a table of references, names and journals in the first column, inst of flowing text. – Bernhard Mar 09 '15 at 09:08
  • @Bernhard And if the link is broken or doesn't work for some reason, or if you need to access the link via a proxy or shibboleth, not having the full reference makes it harder to find the source. And if you print it, of course, the same thing. But the point about numeric stands. There is zero point in having these labels in the bibliography if you don't every refer to them. I don't see how that link explains why you can't use an author-year style. It just says you are using something else. – cfr Mar 09 '15 at 12:53
  • @cfr Well the link is a doi, that's what they're there for I figured... If it doesn't work, then you just use a search engine. In my field the journal volume and the running page numbers are always sufficient (many journals don't even mention the issue-number in their own "how to cite" instructions (see Nature, Advanced Materials,...). But if you insist I will be giving all the data from now on. Can we talk about linebreaks now please? We can talk about authoryear in my other question if you wish – Bernhard Mar 09 '15 at 14:30
  • As I've mentioned above, if you don't delete the title field, my suggestion above should work just fine. There is a way to do that even if you have no title field, that solution is really horrible, however; but if you absolutely insist, I can post it shortly. – moewe Mar 09 '15 at 14:49
  • Well the idea was to have it fit in 2 lines, no more. Since the title is potentially unbounded, I really have to get rid of it. I can manage authors with [maxcitenames=1]. It seems there is nothing like [block=par] that works footnotes. If your solution prints all the interjacent punctuation, then i kindly decline your offer. If the output is clean, then please at least show me the right direction. Maybe there is a way to substitute every title with some letter like a space, or directly a linebreak? – Bernhard Mar 09 '15 at 16:19
  • @Bernhard Have a look at my shot at answering this and comment if there is anything you don't like. (I still think is is not that good an idea to suppress the title and restrict oneself to just two lines, a different concept altogether might give more pleasing results.) – moewe Mar 09 '15 at 17:08

1 Answers1

2

OK, so your last comment gave me an idea for a work-around in your situation (where the standard approach - see below - cannot be used).

We redefine the title/citetitle format to be a \newline that persists in the punctuation buffer.

\AtEveryCitekey{%
  \DeclareFieldFormat*{title}{\printunit{\newline}}%
  \DeclareFieldFormat*{citetitle}{\printunit{\newline}}}

For this to work you must not issue \clearfield{title} because biblatex needs to think there is a title to print (and it actually needs to think it prints it) - we just make sure with this formatting that the title is replaced by a line-break.

MWE

\documentclass{scrartcl}
\usepackage[style=authortitle,backend=bibtex]{biblatex}

\addbibresource{biblatex-examples.bib}

\AtEveryCitekey{%
  \DeclareFieldFormat*{title}{\printunit{\newline}}%
  \DeclareFieldFormat*{citetitle}{\printunit{\newline}}}

\begin{document}
Lorem\footfullcite{baez/article} ipsum\footfullcite{kastenholz}.
\end{document}

enter image description here


The standard approach that works if the title field is present would just be

\AtEveryCitekey{\renewcommand{\labelnamepunct}{\newline}\clearfield{title}}
moewe
  • 175,683
  • A few years later, just for completeness, a page of the finished product, as an attempt to explain why I had this request. The blue Journal names are clickable DOI links. Example page. – Bernhard Oct 03 '17 at 09:24