4

I have the following figure with the corresponding caption:enter image description here

As you can see the caption inappropriately breaks the line, which I want to avoid. Optimally without simply reducing the font size of the caption text.

Code as follows:

\documentclass[12pt, a4paper] {article}
\usepackage[skip=10pt, labelfont=bf, labelsep=space]{caption}
\usepackage{tikz}
\usepackage[numbers,sort,authoryear]{natbib}
\hypersetup{hidelinks=true}


\begin{document}

\newcommand{\mytab}[1]{%
\begin{tabular}{@{}c@{}}
#1
\end{tabular}
}
\begin{figure} [h!]
\label{fig: timeline}
\begin{center}
\begin{tikzpicture}
\draw (0,0) -- (11,0);
\foreach \x in {0.8,4,5.5,7,10.2}
\draw(\x cm,3pt) -- (\x cm, -3pt);
\draw (0.8,0) node[below=3pt] {$T_0$};
\draw (4,0) node[below=3pt] {$T_1$};
\draw (5.5,0) node[below=3pt] {$0$};
\draw (7,0) node[below=3pt] {$T_2$};
\draw (10.2,0) node[below=3pt] {$T_3$};
\draw (2.35,0) node[above=12pt, align=center] {
                            $\left(\mytab{estimation \\ window}\right]$};
\draw (5.5,0) node[above=12pt, align=center]{
                            $\left(\mytab{event \\ window}\right]$};
\draw(8.65,0) node[above=12pt, align=center]{
                            $\left(\mytab{post-event \\ window}\right]$};
\end{tikzpicture}
\end{center}
\caption{Time Line for an Event Study (\cite{campbell1996}, p. 157})
\end{figure}

\bibliographystyle{agsm}
\bibliography{./references}
\end{document}

Thanks for your help!

1
  • You should put the last parenthesis in the caption. It is typed after that.
    – LaRiFaRi
    Dec 9, 2014 at 10:22

1 Answer 1

11

Several comments:

  • Since you're (i) using the agsm bibliography style, which is distributed with the harvard citation management package and (ii) loading the natbib package rather than the harvard package, you should load the har2nat package as well. As its name indicates, it "translates" various macros that are defined by the harvard package (and which are used in agsm.bst) into equivalent natbib macros.

  • You're currently loading the natbib package with the options numbers, sort, and authoryear. You should drop the first two options: The agsm style is meant for authoryear-style citation callouts -- pointless to try to use it with numeric-style citation callouts; the sort option only makes sense if numbers is the callout style.

  • Now to the main point of your query: You ought to write the \caption command as

    \caption{Time Line for an Event Study \citep[p.~157]{campbell1996}}
    

    Note the use of the ~ ("tie") character, which acts like an unbreakable space character.

  • Two minor points: (i) The \label instruction should come after the \caption instruction -- especially if you want to be able to cross-reference the figure elsewhere in the document. (ii) Use of \begin{center}...\end{center} adds a lot of (vertical) whitespace; use the \centering directive instead.

enter image description here

\documentclass[12pt, a4paper]{article}
\usepackage{filecontents}
\begin{filecontents}{references.bib}
@book{campbell1996,
  author = "John Y. Campbell and Andrew W. Lo and A. Craig McKinlay",
  title  = "The Econometrics of Financial Markets",
  year   = 1996,
  publisher = "Princeton University Press",
  address = "Princeton NJ",
}
\end{filecontents}
\usepackage[skip=10pt, labelfont=bf, labelsep=space]{caption}
\usepackage{tikz}
\usepackage[authoryear]{natbib}
\usepackage{har2nat}
\usepackage{hyperref}
\hypersetup{hidelinks=true}

\newcommand{\mytab}[1]{%
\begin{tabular}{@{}c@{}}
#1
\end{tabular}
}

\begin{document}

\begin{figure} [h!]
\centering
\begin{tikzpicture}
\draw (0,0) -- (11,0);
\foreach \x in {0.8,4,5.5,7,10.2}
\draw(\x cm,3pt) -- (\x cm, -3pt);
\draw (0.8,0) node[below=3pt] {$T_0$};
\draw (4,0) node[below=3pt] {$T_1$};
\draw (5.5,0) node[below=3pt] {$0$};
\draw (7,0) node[below=3pt] {$T_2$};
\draw (10.2,0) node[below=3pt] {$T_3$};
\draw (2.35,0) node[above=12pt, align=center] {
                            $\left(\mytab{estimation \\ window}\right]$};
\draw (5.5,0) node[above=12pt, align=center]{
                            $\left(\mytab{event \\ window}\right]$};
\draw(8.65,0) node[above=12pt, align=center]{
                            $\left(\mytab{post-event \\ window}\right]$};
\end{tikzpicture}
\caption{Time Line for an Event Study \protect\citep[p.~157]{campbell1996}} 
\label{fig:timeline}
\end{figure}

A cross-reference to \autoref{fig:timeline}.

\bibliographystyle{agsm}
\bibliography{./references}
\end{document}
3
  • Thanks, Mico for your help! The \citep{} command is great. However using the har2nat package and dropping the numbers and sort options changes my citations to for example: (Campbell 1996), whereas I'd like to have: Campbell (1996). Any idea for that? thanks!
    – mt1111
    Dec 9, 2014 at 10:33
  • @marinko - For text-style citations, use \citet. The macro \citep is for "parenthetic" citations. (In your code, the macro \cite is used, which is aliased by natbib to function like \citet.)
    – Mico
    Dec 9, 2014 at 10:37
  • great, thanks! didn't know this existed!
    – mt1111
    Dec 9, 2014 at 10:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .