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.

Is there a way to get a two column layout for author-year-citations with a label of "(Wolfram 2002)" in the first column and "Wolfram, S. 2002. A new kind of science. Wolfram Media, Champaign, Ill." in the second column.

The best I could get is the label directly followed by the reference with indentation in the following lines; with something I found, but not quite understand:

\usepackage[round, authoryear]{natbib}
\setcitestyle{aysep={}}

\makeatletter
       \def\@lbibitem[#1]#2{%
       \if\relax\@extra@b@citeb\relax\else
       \@ifundefined{br@#2\@extra@b@citeb}{}{%
       \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}}\fi
       \@ifundefined{b@#2\@extra@b@citeb}{\def\NAT@num{}}{\NAT@parse{#2}}%
       \item[\hfil\hyper@natanchorstart{#2\@extra@b@citeb}\citep{#2}%
       \hyper@natanchorend]%
       \NAT@ifcmd#1(@)(@)\@nil{#2}}
\makeatother

I am using Bibtex and pdflatex. Thanks for your help.

share|improve this question
    
You want a single column article with references starting on a new page in two-column mode? –  Charles Stewart Apr 19 '11 at 9:32
    
No just like the numbered or alphanumeric styles with label in the first column and the reference in the second column. –  Fxx Apr 20 '11 at 11:24
add comment

2 Answers

If I understand correctly, you are looking for one text column and one citation column. This can be achieved using the margin and biblatex.

\usepackage[backend=biber, style=authoryear]{biblatex}
\newcommand{\mycite}[1]{%
(\cite{#1})%
\marginpar{\footnotesize\fullcite{#1}}}

If this is what you are looking forcitation in the margin

I used the following code (partly borrowed from another question):

\documentclass{book}

\usepackage[backend=biber, style=authoryear]{biblatex}
\usepackage[paperwidth=170mm, paperheight=240mm, left=40pt, top=40pt, textwidth=280pt, marginparsep=20pt, marginparwidth=100pt, textheight=560pt, footskip=40pt]{geometry}
\usepackage{lipsum}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@incollection{Baauw2001,
    Address = {Somerville, MA},
    Author = {Sergio Baauw},
    Booktitle = {Proceedings of the 25th Annual Boston University Conference on Language Development},
    Editor = {A. H.-J. Do and L. Dom{\'\i}nguez and A. Johansen},
    Pages = {82-93},
    Publisher = {Cascadilla Press},
    Title = {Expletive determiners in child Dutch and Spanish},
    Year = {2001}}

@article{barker1998,
    Author = {Chris Barker},
    Journal = {Natural Language \& Linguistic Theory},
    Pages = {679-717},
    Title = {Partitives, Double Genitives and Anti-Uniqueness},
    Volume = {16},
    Year = {1998}}

@book{Berwick1985,
    Address = {Cambridge, MA},
    Author = {Berwick, Robert C.},
    Publisher = {MIT Press},
    Title = {Acquisition of syntactic knowledge},
    Year = {1985}}

@phdthesis{Carlson1977,
    Author = {Carlson, Gregory N.},
    School = {University of Massachusetts, Amherst},
    Title = {Reference to Kinds in {E}nglish},
    Year = {1977}}

\end{filecontents}
\addbibresource{\jobname}

\newcommand{\mycite}[1]{%
(\cite{#1})%
\marginpar{\footnotesize\fullcite{#1}}}

\begin{document}
\chapter{One}
\lipsum[2]Some text \mycite{Carlson1977}
\lipsum[1]

\end{document}
share|improve this answer
add comment

There are several author-year bibliography styles that have the label followed by the author in the order you want. Ken Turner's list of older Bibtex styles shows several possibilities. Most of these use the \bibhang dimension (actually it is skip, so you can have glue) to control indentation, so you can replicate what the code you quote appears to be doing by choosing any of these styles and setting \bibhang to a large enough dimension. The others use \bibindent and \bibleftmargin to say what the first and each subsequent line of the entries are respectively, which is equivalent.

This is not exactly what your question describes, since the author name follows directly after the key. You can force enough whitespace by putting the label in a wide-enough box. You have to tinker with the Bibtex style code to do this. With luck, the following code will work for you:

\makeatletter 
   \let\ur@lbibitem=@lbibitem
   \def\@lbibitem[#1]#2{
       \ifempty{#1}
           \ur@lbibitem[\hbox to \bibhang {#2}]{#2}
         \else \ur@lbibitem[\hbox to \bibhang {\cite{#1}}]{#2}
       \fi}
\makeatother   

Caveats: the above is untested, need the eplain package (it uses \ifempty), will probably be ugly (the hbox will be too wide and \cite is quite probably the wrong command for what you want), and assumes that \bibhang is correctly defined which is not true for all Bibtex styles.

share|improve this answer
    
I somehow can't get it work. I could use '\setlength{\bibhang}{10em}' but that results in the first line of the reference beginning dependent on the label and not at a specific position. Many times in different combinations I also tried the code you cited, but it gave me errors that I could not get rid of. I also have fount the Turner's list, and 'these' is very similar to my desired result, but when I use it it results in a label like '[W]' and I also wanted to use the 'natbib' package. –  Fxx May 10 '11 at 8:52
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.