
У меня есть следующий рисунок с соответствующей подписью:
Как вы видите, подпись неуместно разрывает строку, чего я хочу избежать. Оптимально — не уменьшая размер шрифта текста подписи.
Код выглядит следующим образом:
\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}
Спасибо за вашу помощь!
решение1
Несколько комментариев:
Поскольку вы (i) используете
agsm
стиль библиографии, который распространяется сharvard
пакетом управления цитированием и (ii) загружаете пакет,natbib
а неharvard
пакет, вам следует загрузитьhar2nat
и пакет. Как следует из его названия, он «транслирует» различные макросы, которые определены пакетомharvard
(и которые используются вagsm.bst
), в эквивалентныеnatbib
макросы.В данный момент вы загружаете
natbib
пакет с параметрамиnumbers
,sort
иauthoryear
. Вам следует отказаться от первых двух параметров: Стильagsm
предназначен для ссылок в стиле authoryear — бессмысленно пытаться использовать его с ссылками в числовом стиле; параметрsort
имеет смысл только в том случае, еслиnumbers
это стиль ссылки.Теперь перейдем к сути вашего запроса: вам следует написать команду
\caption
следующим образом:\caption{Time Line for an Event Study \citep[p.~157]{campbell1996}}
Обратите внимание на использование символа
~
(«галстук»), который действует как неразрывный пробел.Два второстепенных момента: (i)
\label
Инструкция должна поступатьпослеинструкцию\caption
— особенно если вы хотите иметь возможность ссылаться на рисунок в другом месте документа. (ii) Использование\begin{center}...\end{center}
добавляет много (вертикального) пробела;\centering
вместо этого используйте директиву .
\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}