123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- % Package `RJournal' to use with LaTeX2e
- % Copyright (C) 2010 by the R Foundation
- % Copyright (C) 2013 by the R Journal
- %
- % Originally written by Kurt Hornik and Friedrich Leisch with subsequent
- % edits by the editorial board
- \NeedsTeXFormat{LaTeX2e}[1995/12/01]
- \ProvidesPackage{RJournal}[2013/08/27 v0.13 RJournal package]
- \RequirePackage{tikz}
- % Overall page layout, fonts etc -----------------------------------------------
- % Issues of of \emph{The R Journal} are created from the standard \LaTeX{}
- % document class \pkg{report}.
- \RequirePackage{geometry}
- \geometry{a4paper,
- textwidth=14cm, top=1cm, bottom=1cm,
- includehead,includefoot,centering,
- footskip=1.5cm}
- \raggedbottom
- \RequirePackage{fancyhdr}
- \fancyhead{}
- \fancyheadoffset{2cm}
- \fancyhead[L]{\textsc{\RJ@sectionhead}}
- \fancyhead[R]{\thepage}
- \fancyfoot{}
- \fancyfoot[L]{The R Journal Vol. \RJ@volume/\RJ@number, \RJ@month}
- \fancyfoot[R]{ISSN 2073-4859}
- \pagestyle{fancy}
- % We use the following fonts (all with T1 encoding):
- %
- % rm & palatino
- % tt & inconsolata
- % sf & helvetica
- % math & palatino
- \RequirePackage{microtype}
- \RequirePackage[scaled=0.92]{helvet}
- \RequirePackage{palatino,mathpazo}
- \RequirePackage[scaled=1.02]{inconsolata}
- \RequirePackage[T1]{fontenc}
- \RequirePackage[hyphens]{url}
- \RequirePackage[pagebackref]{hyperref}
- \renewcommand{\backref}[1]{[p#1]}
- % Dark blue colour for all links
- \RequirePackage{color}
- \definecolor{link}{rgb}{0.45,0.51,0.67}
- \hypersetup{
- colorlinks,%
- citecolor=link,%
- filecolor=link,%
- linkcolor=link,%
- urlcolor=link
- }
- % Give the text a little room to breath
- \setlength{\parskip}{3pt}
- \RequirePackage{setspace}
- \setstretch{1.05}
- % Issue and article metadata ---------------------------------------------------
- % Basic front matter information about the issue: volume, number, and
- % date.
- \newcommand{\volume}[1]{\def\RJ@volume{#1}}
- \newcommand{\volnumber}[1]{\def\RJ@number{#1}}
- \renewcommand{\month}[1]{\def\RJ@month{#1}}
- \renewcommand{\year}[1]{\def\RJ@year{#1}}
- % Individual articles correspond to
- % chapters, and are contained in |article| environments. This makes it
- % easy to have figures counted within articles and hence hyperlinked
- % correctly.
- % An article has an author, a title, and optionally a subtitle. We use
- % the obvious commands for specifying these. Articles will be put in certain
- % journal sections, named by \sectionhead.
- \newcommand {\sectionhead} [1]{\def\RJ@sectionhead{#1}}
- \renewcommand{\author} [1]{\def\RJ@author{#1}}
- \renewcommand{\title} [1]{\def\RJ@title{#1}}
- \newcommand {\subtitle} [1]{\def\RJ@subtitle{#1}}
- % Control appearance of titles: make slightly smaller than usual, and
- % suppress section numbering. See http://tex.stackexchange.com/questions/69749
- % for why we don't use \setcounter{secnumdepth}{-1}
- \usepackage[medium]{titlesec}
- \usepackage{titletoc}
- \titleformat{\section} {\normalfont\large\bfseries}{}{0em}{}
- \titleformat{\subsection}{\normalfont\normalsize\bfseries}{}{0em}{}
- \titlecontents{chapter} [0em]{}{}{}{\titlerule*[1em]{.}\contentspage}
- % Article layout ---------------------------------------------------------------
- % Environment |article| clears the article header information at its beginning.
- % We use |\FloatBarrier| from the placeins package to keep floats within
- % the article.
- \RequirePackage{placeins}
- \newenvironment{article}{\author{}\title{}\subtitle{}\FloatBarrier}{\FloatBarrier}
- % Refereed articles should have an abstract, so we redefine |\abstract| to
- % give the desired style
- \renewcommand{\abstract}[1]{%
- \setstretch{1}%
- \noindent%
- \small%
- \textbf{Abstract} #1
- }
- % The real work is done by a redefined version of |\maketitle|. Note
- % that even though we do not want chapters (articles) numbered, we
- % need to increment the chapter counter, so that figures get correct
- % labelling.
- \renewcommand{\maketitle}{%
- \noindent
- \chapter{\RJ@title}\refstepcounter{chapter}
- \ifx\empty\RJ@subtitle
- \else
- \noindent\textbf{\RJ@subtitle}
- \par\nobreak\addvspace{\baselineskip}
- \fi
- \ifx\empty\RJ@author
- \else
- \noindent\textit{\RJ@author}
- \par\nobreak\addvspace{\baselineskip}
- \fi
- \@afterindentfalse\@nobreaktrue\@afterheading
- }
- % Now for some ugly redefinitions. We do not want articles to start a
- % new page. (Actually, we do, but this is handled via explicit
- % \newpage
- %
- % The name@of@eq is a hack to get hyperlinks to equations to work
- % within each article, even though there may be multiple eq.(1)
- % \begin{macrocode}
- \renewcommand\chapter{\secdef\RJ@chapter\@schapter}
- \providecommand{\nohyphens}{%
- \hyphenpenalty=10000\exhyphenpenalty=10000\relax}
- \newcommand{\RJ@chapter}{%
- \edef\name@of@eq{equation.\@arabic{\c@chapter}}%
- \renewcommand{\@seccntformat}[1]{}%
- \@startsection{chapter}{0}{0mm}{%
- -2\baselineskip \@plus -\baselineskip \@minus -.2ex}{\p@}{%
- \phantomsection\normalfont\huge\bfseries\raggedright}}
- % Book reviews should appear as sections in the text and in the pdf bookmarks,
- % however we wish them to appear as chapters in the TOC. Thus we define an
- % alternative to |\maketitle| for reviews.
- \newcommand{\review}[1]{
- \pdfbookmark[1]{#1}{#1}
- \section*{#1}
- \addtocontents{toc}{\protect\contentsline{chapter}{#1}{\thepage}{#1.1}}
- }
- % We want bibliographies as starred sections within articles.
- %
- \RequirePackage[sectionbib,round]{natbib}
- \bibliographystyle{abbrvnat}
- % Equations, figures and tables are counted within articles, but we do
- % not show the article number. For equations it becomes a bit messy to avoid
- % having hyperref getting it wrong.
- % \numberwithin{equation}{chapter}
- \renewcommand{\theequation}{\@arabic\c@equation}
- \renewcommand{\thefigure}{\@arabic\c@figure}
- \renewcommand{\thetable}{\@arabic\c@table}
- % Issue layout -----------------------------------------------------------------
- % Need to provide our own version of |\tableofcontents|. We use the
- % tikz package to get the rounded rectangle. Notice that |\section*|
- % is really the same as |\chapter*|.
- \renewcommand{\contentsname}{Contents}
- \renewcommand\tableofcontents{%
- \vspace{1cm}
- \section*{\contentsname}
- { \@starttoc{toc} }
- }
- \renewcommand{\titlepage}{%
- \thispagestyle{empty}
- \hypersetup{
- pdftitle={The R Journal Volume \RJ@volume/\RJ@number, \RJ@month \RJ@year},%
- pdfauthor={R Foundation for Statistical Computing},%
- }
- \noindent
- \begin{center}
- \fontsize{50pt}{50pt}\selectfont
- The \raisebox{-8pt}{\includegraphics[height=77pt]{Rlogo-4}}\hspace{10pt}
- Journal
-
- \end{center}
- {\large \hfill Volume \RJ@volume/\RJ@number, \RJ@month{} \RJ@year \quad}
- \rule{\textwidth}{1pt}
- \begin{center}
- {\Large A peer-reviewed, open-access publication of the \\
- R Foundation for Statistical Computing}
- \end{center}
- % And finally, put in the TOC box. Note the way |tocdepth| is adjusted
- % before and after producing the TOC: thus, we can ensure that only
- % articles show up in the printed TOC, but that in the PDF version,
- % bookmarks are created for sections and subsections as well (provided
- % that the non-starred forms are used).
- \setcounter{tocdepth}{0}
- \tableofcontents
- \setcounter{tocdepth}{2}
- \clearpage
- }
- % Text formatting --------------------------------------------------------------
- \newcommand{\R}{R}
- \newcommand{\address}[1]{\addvspace{\baselineskip}\noindent\emph{#1}}
- \newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}}
- % Simple font selection is not good enough. For example, |\texttt{--}|
- % gives `\texttt{--}', i.e., an endash in typewriter font. Hence, we
- % need to turn off ligatures, which currently only happens for commands
- % |\code| and |\samp| and the ones derived from them. Hyphenation is
- % another issue; it should really be turned off inside |\samp|. And
- % most importantly, \LaTeX{} special characters are a nightmare. E.g.,
- % one needs |\~{}| to produce a tilde in a file name marked by |\file|.
- % Perhaps a few years ago, most users would have agreed that this may be
- % unfortunate but should not be changed to ensure consistency. But with
- % the advent of the WWW and the need for getting `|~|' and `|#|' into
- % URLs, commands which only treat the escape and grouping characters
- % specially have gained acceptance
- \DeclareRobustCommand\code{\bgroup\@noligs\@codex}
- \def\@codex#1{\texorpdfstring%
- {{\normalfont\ttfamily\hyphenchar\font=-1 #1}}%
- {#1}\egroup}
- \newcommand{\kbd}[1]{{\normalfont\texttt{#1}}}
- \newcommand{\key}[1]{{\normalfont\texttt{\uppercase{#1}}}}
- \DeclareRobustCommand\samp{`\bgroup\@noligs\@sampx}
- \def\@sampx#1{{\normalfont\texttt{#1}}\egroup'}
- \newcommand{\var}[1]{{\normalfont\textsl{#1}}}
- \let\env=\code
- \newcommand{\file}[1]{{`\normalfont\textsf{#1}'}}
- \let\command=\code
- \let\option=\samp
- \newcommand{\dfn}[1]{{\normalfont\textsl{#1}}}
- % \acronym is effectively disabled since not used consistently
- \newcommand{\acronym}[1]{#1}
- \newcommand{\strong}[1]{\texorpdfstring%
- {{\normalfont\fontseries{b}\selectfont #1}}%
- {#1}}
- \let\pkg=\strong
- \newcommand{\CRANpkg}[1]{\href{http://CRAN.R-project.org/package=#1}{\pkg{#1}}}%
- \let\cpkg=\CRANpkg
- \newcommand{\ctv}[1]{\href{http://CRAN.R-project.org/view=#1}{\emph{#1}}}
- \newcommand{\BIOpkg}[1]{\href{http://www.bioconductor.org/packages/release/bioc/html/#1.html}{\pkg{#1}}}
- % Example environments ---------------------------------------------------------
- \RequirePackage{fancyvrb}
- \RequirePackage{alltt}
- \DefineVerbatimEnvironment{example}{Verbatim}{}
- \renewenvironment{example*}{\begin{alltt}}{\end{alltt}}
- % Support for output from Sweave, and generic session style code
- % These used to have fontshape=sl for Sinput/Scode/Sin, but pslatex
- % won't use a condensed font in that case.
- \DefineVerbatimEnvironment{Sinput}{Verbatim}{fontsize=\small}
- \DefineVerbatimEnvironment{Soutput}{Verbatim}{fontsize=\small}
- \DefineVerbatimEnvironment{Scode}{Verbatim}{fontsize=\small}
- \DefineVerbatimEnvironment{Sin}{Verbatim}{fontsize=\small}
- \DefineVerbatimEnvironment{Sout}{Verbatim}{fontsize=\small}
- \newenvironment{Schunk}{}{}
- % Mathematics ------------------------------------------------------------------
- % The implementation of |\operatorname| is similar to the mechanism
- % \LaTeXe{} uses for functions like sin and cos, and simpler than the
- % one of \AmSLaTeX{}. We use |\providecommand| for the definition in
- % order to keep the one of the \pkg{amstex} if this package has
- % already been loaded.
- % \begin{macrocode}
- \providecommand{\operatorname}[1]{%
- \mathop{\operator@font#1}\nolimits}
- \RequirePackage{amsfonts}
- \renewcommand{\P}{%
- \mathop{\operator@font I\hspace{-1.5pt}P\hspace{.13pt}}}
- \newcommand{\E}{%
- \mathop{\operator@font I\hspace{-1.5pt}E\hspace{.13pt}}}
- \newcommand{\VAR}{\operatorname{var}}
- \newcommand{\COV}{\operatorname{cov}}
- \newcommand{\COR}{\operatorname{cor}}
- % Figures ----------------------------------------------------------------------
- \RequirePackage[font=small,labelfont=bf]{caption}
- % Wide environments for figures and tables -------------------------------------
- \RequirePackage{environ}
- % An easy way to make a figure span the full width of the page
- \NewEnviron{widefigure}[1][]{
- \begin{figure}[#1]
- \advance\leftskip-2cm
- \begin{minipage}{\dimexpr\textwidth+4cm\relax}%
- \captionsetup{margin=2cm}
- \BODY
- \end{minipage}%
- \end{figure}
- }
- \NewEnviron{widetable}[1][]{
- \begin{table}[#1]
- \advance\leftskip-2cm
- \begin{minipage}{\dimexpr\textwidth+4cm\relax}%
- \captionsetup{margin=2cm}
- \BODY
- \end{minipage}%
- \end{table}
- }
|