% !TEX TS-program = Sweave \documentclass[10pt,landscape,a4paper]{article} %\VignetteIndexEntry{XLConnect for the Impatient} \usepackage[latin1]{inputenc} % So that more colours can be used, not only the pre-defined ones % List of colours here: https://en.wikibooks.org/wiki/LaTeX/Colors \usepackage[dvipsnames]{xcolor} \usepackage[colorlinks]{hyperref} \usepackage{datetime} % To get URLs in a normal font, by using \urlwofont \usepackage{url} \newcommand{\urlwofont}[1] { \urlstyle{same}\url{#1} } % Set colours of links in the document \hypersetup { colorlinks, citecolor = black, % color of links to bibliography filecolor = black, % color of file links linkcolor = CadetBlue, % color of internal links, e.g. Table of Contents urlcolor = CadetBlue % color of external links } % Extra text effects (strikethrough) \usepackage{ulem} % Sexyness \usepackage{tikz} \usetikzlibrary{calc,positioning} \usetikzlibrary{shapes.multipart,shapes.geometric,shapes.symbols,shapes.arrows} \usetikzlibrary{decorations.shapes,decorations.text,decorations.pathreplacing} % For the table \usetikzlibrary{matrix} % Page layout \usepackage[parfill]{parskip} \usepackage[letterpaper,margin=2cm]{geometry} \usepackage{multicol} \usepackage{pdflscape} % Graphics control. \usepackage{graphicx} \usepackage{float} % Extra pretty pretty printing. \usepackage{tikzCodeBlock} % Macros created for this document \input{tikzDeviceMacros} % Make sure you input tikzDeviceMacros first- or % LaTeX will smite you! \usepackage{Sweave} \begin{document} \SweaveOpts{concordance=TRUE} \SweaveOpts{echo=F,prefix.string=figs/fig} \begin{center} \textcolor{MidnightBlue}{\textbf{\huge \pkg{XLConnect} for the Impatient} \\[15pt]} \pkg{XLConnect} Version \Sexpr{getOption("XLConnect.Version")}\qquad \monthname, \the\year \\[15pt] \end{center} \begin{tabbing} \hspace*{5cm}\= \kill \textbf{Installation:} \> \code{install.packages("XLConnect")} \\ \textbf{Loading library:} \> \code{library(XLConnect)} \\ \textbf{Help on any function:} \> \code{help(functionName)} \\ \end{tabbing} \thispagestyle{empty} \pagestyle{empty} % https://tex.stackexchange.com/questions/69838/positioning-of-rotated-nodes-in-a-matrix \begin{tikzpicture} \tikzstyle{phase} =[draw,fill=white,rotate=90,sloped, minimum width = 14.5em, align=center]; \tikzstyle{title} =[draw,fill=white,sloped, minimum width = 30em, align=center, minimum height = 3em]; \tikzstyle{codeEx}=[draw,fill=white,sloped, minimum height = 7em, minimum width = 30em, align=center]; \tikzstyle{every matrix}=[ampersand replacement={\&}]; \matrix (xAB)[draw,rounded corners,fill=blue!20] { \node[phase](phase1) {Reading/writing workbooks \\ \textbf{once}};\\ }; \matrix (xA)[right = 0.2cm of xAB,draw,rounded corners,fill=green!20] { \node[codeEx](codeEx1) {\code{data <- readWorksheetFromFile(file, sheet, ...)}};\\[1ex] \node[codeEx](codeEx2) {\code{writeWorksheetToFile(file, data, sheet, ...)}};\\ }; \matrix (xAC)[above = 0.2cm of xA, draw,rounded corners,fill=blue!20] { \node[title](title1) {Reading/writing \textbf{worksheets}};\\ }; \matrix (xB)[right = 0.2cm of xA,draw,rounded corners,fill=green!20] { \node[codeEx](codeEx3) {\code{data <- readNamedRegionFromFile(file, name, ...)}}; \\[1ex] \node[codeEx](codeEx4) {\code{writeNamedRegionToFile(file, data, name, ...)}};\\ }; \matrix (xBD)[above = 0.2cm of xB, draw,rounded corners,fill=blue!20] { \node[title](title2) {Reading/writing \textbf{named regions}};\\ }; \matrix (xCD)[below = 0.2cm of xAB,draw,rounded corners,fill=blue!20] { \node[phase](phase1) {Reading/writing workbooks \\ \textbf{multiple times}};\\ }; \matrix (xC)[below = 0.2cm of xA,draw,rounded corners,fill=green!20] { \node[codeEx](codeEx5) {\code{wb <- loadWorkbook(file)} \\ \code{data1 <- readWorksheet(wb, sheet1, ...)} \\ \code{data2 <- readWorksheet(wb, sheet2, ...)} \\ ...}; \\[1ex] \node[codeEx](codeEx6) {\code{wb <- loadWorkbook(file)} \\ \code{createSheet(wb, sheet1)} \\ \code{writeWorksheet(wb, data1, sheet1, ...)} \\ ... \\ \code{saveWorkbook(wb)}};\\ }; \matrix (xD)[below = 0.2cm of xB,draw,rounded corners,fill=green!20] { \node[codeEx](codeEx7) {\code{wb <- loadWorkbook(file)} \\ \code{data1 <- readNamedRegion(wb, name1, ...)} \\ \code{data2 <- readNamedRegion(wb, name2, ...)} \\ ...}; \\[1ex] \node[codeEx](codeEx8) {\code{wb <- loadWorkbook(file)} \\ \code{createName(wb, name1, ...)} \\ \code{writeNamedRegion(wb, data1, name1, ...)} \\ ... \\ \code{saveWorkbook(wb)}};\\ }; \end{tikzpicture} \vspace{0.5cm} \begin{center} \url{https://mirai-solutions.ch}, \url{https://github.com/miraisolutions/xlconnect} \end{center} \end{document}