Added Makefile

This commit is contained in:
Philipp Homan yoga ubuntu 17.10 2018-04-03 15:37:28 +02:00
parent 3d81d2a451
commit 63176e4382
8 changed files with 563 additions and 74 deletions

90
Makefile Normal file
View File

@ -0,0 +1,90 @@
# This is the Makefile
#
# 4/2/18, PH
# project name
PROJ = org-mode-poster
#####################################
# Usually no edits below this line
#####################################
# Output directory
# Source directory
SRC = src
# External
EXT = ext
# directory for additional pdf files
LIB = lib
POSTER = $(SRC)/$(PROJ)_poster.pdf
# executables
RM = rm -Rf
TEX = xelatex -interaction nonstopmode -shell-escape
BIBTEX = bibtex
EMACSINIT = $(EXT)/$(PROJ)_dotemacs
EMACS = emacs -l ../$(EMACSINIT)
EMACSMSARGS = --batch -f org-latex-export-to-latex --kill
EMACSPARGS = --batch -f org-beamer-export-to-latex --kill
VIEWBIN = pdfview
PDFMERGEBIN = ext/pdfmerge
CPBIN = cp
MKDIRBIN = mkdir
# list org files
ORGFILES = $(SRC)/$(PROJ)_poster.org
# list tex files
TEXFILES = $(ORGFILES:$(SRC)/$(PROJ)_poster.org=$(SRC)/$(PROJ)_poster.tex)
# list additional library files
PDFLIB = $(wildcard $(LIB)/$(PROJ)*.*)
# indicator files to show tex has run
TEXOUTFILES = $(TEXFILES:$(SRC)/%.tex=$(SRC)/%.aux)
# replace tex with pdf to get pdf tex files
PDFTEXFILES = $(TEXOUTFILES:$(SRC)/%.aux=$(SRC)/%.pdf)
# Rule for $(TEXFILES)
# Convert every org file to LaTeX this is done from within the subfolder
# so be careful with relative paths
$(SRC)/%.tex: $(SRC)/%.org $(PDFLIB) $(SRC)/beamerthemeph.sty
@if [ "$(notdir $<)" = "$(PROJ)_poster.org" ]; then \
echo "Exporting poster from org to LaTeX" \
&& cd $(SRC) && $(EMACS) $(PROJ)_poster.org $(EMACSPARGS); \
fi
# Rule for $(TEXOUTFILES)
# Run every tex file this is done from within the subfolder so be
# careful with relative paths
$(SRC)/%.aux: $(SRC)/%.tex $(PDFLIB)
cd $(SRC) && $(TEX) $(notdir $<)
cd $(SRC) && $(TEX) $(notdir $<)
# Default entry
all: poster
# make poster
poster: tex
# run tex files
tex: $(TEXOUTFILES) $(TEXFILES)
viewposter: poster
pdfview $(POSTER)
.PHONY: clean texclean Rclean
clean: texclean
texclean:
$(RM) $(TEXOUT)/$(PROJ)*.tex
$(RM) $(TEXOUT)/$(PROJ)*.aux
test:
@echo $(POSTER) $(TEXFILES) $(ORGFILES)

View File

@ -0,0 +1,225 @@
;; This is the .emacs configuration file
;; Large parts of this have been copied from other people
;; PH, 12/1/16
;;----------------------------------------------------------------------
;; Global
;;----------------------------------------------------------------------
;; get rid of yes or no
(fset 'yes-or-no-p 'y-or-n-p)
;; package archives
(require 'package)
(add-to-list 'package-archives
'("org" . "http://orgmode.org/elpa/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives
'("melpa-stable" . "http://stable.melpa.org/packages/"))
(setq package-enable-at-startup nil)
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(setq use-package-verbose t)
(setq use-package-always-ensure t)
(eval-when-compile (require 'use-package))
(setq default-fill-column 72)
;; Tell emacs where is your personal elisp lib dir
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;; keyboard binding to replace M-x
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)
;;----------------------------------------------------------------------
;; org mode
;;----------------------------------------------------------------------
;; remove comments from org document for use with export hook
;; https://emacs.stackexchange.com/questions/22574/orgmode-export-how-to-prevent-a-new-line-for-comment-lines
(defun delete-org-comments (backend)
(loop for comment in (reverse (org-element-map
(org-element-parse-buffer)
'comment 'identity))
do
(setf (buffer-substring (org-element-property :begin comment)
(org-element-property :end comment))
"")))
;; add to export hook
(add-hook 'org-export-before-processing-hook 'delete-org-comments)
;;----------------------------------------------------------------------
;; ess
;;----------------------------------------------------------------------
(require 'ess)
(require 'ess-site)
(setq tab-width 2)
;(whitespace-mode t)
; let ess not ask for starting directory
(setq ess-ask-for-ess-directory nil)
; disable auto complete (takes too long)
(setq ess-use-auto-complete nil)
;(linum-mode t)
(add-hook 'ess-mode-hook
(lambda ()
(whitespace-mode t)
(linum-mode t)
; if you uncomment this and reload .emacs from within an R buffer,
; it should work as a hack
(setq ess-indent-with-fancy-comments nil)
(setq ess-style nil)))
;;----------------------------------------------------------------------
;; Org
;;----------------------------------------------------------------------
(require 'org)
(require 'org-element)
;; window setup
(setq org-agenda-restore-windows-after-quit t)
(setq org-agenda-skip-scheduled-if-done t)
;; use ox-extra to ignore certain headings
(require 'ox-extra)
(ox-extras-activate '(ignore-headlines))
;; disable indenting
(require 'org-indent)
(org-indent-mode -1)
;; we don't want raw inline calls to include a newline
;;(setq org-babel-inline-result-wrap "well, %s")
;; indentation
(defun my-tab-related-stuff ()
; (setq indent-tabs-mode t)
; (setq tab-stop-list (number-sequence 4 200 4))
; (setq default-tab-width 2)
(setq tab-width 2))
; (setq indent-line-function 'insert-tab))
(add-hook 'org-mode-hook 'my-tab-related-stuff)
;; inline results wrapping
(setq org-babel-inline-result-wrap "%s")
;; active Babel languages
(org-babel-do-load-languages
'org-babel-load-languages
'((R . t)
(latex . t)
(dot . t)
(shell . t)
(ditaa . t)
))
;; we trust our own R code so we do not need to confirm
(defun my-org-confirm-babel-evaluate (lang body)
(not (string-match "[Rlatexdotditaashell]" lang ))) ; don't ask for R
(setq org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate)
(require 'ox-latex)
;;; XeLaTeX customisations
;; remove "inputenc" from default packages as it clashes with xelatex
(setf org-latex-default-packages-alist
(remove '("AUTO" "inputenc" t) org-latex-default-packages-alist))
;(setq org-latex-pdf-process '("latexmk -pdf
; -pdflatex='xelatex -shell-escape -interaction nonstopmode' -bibtex -f %f "))
(setq org-latex-pdf-process
'("latexmk -pdflatex='xelatex -interaction nonstopmode' -pdf -bibtex -f %f"))
;; avoid hypersetup
(setq org-latex-with-hyperref nil)
;; latex templates
;\\usepackage[authoryear]{natbib}
(add-to-list 'org-latex-classes
'("myarticle"
"\\documentclass[12pt]{article}
\\usepackage[labelfont=bf]{caption}
\\usepackage{times}
[NO-DEFAULT-PACKAGES]"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
;; latex templates
(add-to-list 'org-latex-classes
'("mybeamerxl"
"\\documentclass[presentation,20pt]{beamer}
\\usetheme{default}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("mybeamerposter"
"\\documentclass[final]{beamer}
\\usetheme{ph}
\\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter}
\\usepackage[absolute,overlay]{textpos}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("mybeamerm"
"\\documentclass[presentation]{beamer}
\\usetheme{default}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("cv"
"\\documentclass[10pt]{extarticle}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(setq org-latex-listings 'minted)
'(org-export-latex-listings-langs
(quote ((emacs-lisp "Lisp")
(lisp "Lisp")
(clojure "Lisp")
(c "C")
(cc "C++")
(fortran "fortran")
(perl "Perl")
(cperl "Perl")
(python "Python")
(ruby "Ruby")
(html "HTML")
(xml "XML")
(tex "TeX")
(latex "TeX")
(shell-script "bash")
(gnuplot "Gnuplot")
(ocaml "Caml")
(caml "Caml")
(sql "SQL")
(sqlite "sql")
(R-mode "R"))))
(setq org-latex-minted-options
'(("linenos=true") ("bgcolor=lightgray")))
; set timestamp format
;;----------------------------------------------------------------------
;; bibtex
;;----------------------------------------------------------------------
(require 'bibtex)
(require 'org-ref)
(require 'org-ref-pubmed)
(require 'org-ref-wos)
(require 'org-ref-scopus)
(setq reftex-default-bibliography '("master.bib"))
(setq org-ref-default-bibliography '("master.bib"))

View File

@ -0,0 +1,163 @@
;; This is the .emacs configuration file
;; Large parts of this have been copied from other people
;; PH, 12/1/16
;;----------------------------------------------------------------------
;; Global
;;----------------------------------------------------------------------
;; get rid of yes or no
(fset 'yes-or-no-p 'y-or-n-p)
;; package archives
(require 'package)
(add-to-list 'package-archives
'("org" . "http://orgmode.org/elpa/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives
'("melpa-stable" . "http://stable.melpa.org/packages/"))
(setq package-enable-at-startup nil)
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(setq use-package-verbose t)
(setq use-package-always-ensure t)
(eval-when-compile (require 'use-package))
(setq default-fill-column 72)
;; Tell emacs where is your personal elisp lib dir
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;; keyboard binding to replace M-x
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)
;;----------------------------------------------------------------------
;; org mode
;;----------------------------------------------------------------------
;; remove comments from org document for use with export hook
;; https://emacs.stackexchange.com/questions/22574/orgmode-export-how-to-prevent-a-new-line-for-comment-lines
(defun delete-org-comments (backend)
(loop for comment in (reverse (org-element-map
(org-element-parse-buffer)
'comment 'identity))
do
(setf (buffer-substring (org-element-property :begin comment)
(org-element-property :end comment))
"")))
;; add to export hook
(add-hook 'org-export-before-processing-hook 'delete-org-comments)
;;----------------------------------------------------------------------
;; ess
;;----------------------------------------------------------------------
(require 'ess)
(require 'ess-site)
(setq tab-width 2)
;(whitespace-mode t)
; let ess not ask for starting directory
(setq ess-ask-for-ess-directory nil)
; disable auto complete (takes too long)
(setq ess-use-auto-complete nil)
;(linum-mode t)
(add-hook 'ess-mode-hook
(lambda ()
(whitespace-mode t)
(linum-mode t)
; if you uncomment this and reload .emacs from within an R buffer,
; it should work as a hack
(setq ess-indent-with-fancy-comments nil)
(setq ess-style nil)))
;;----------------------------------------------------------------------
;; Org
;;----------------------------------------------------------------------
(require 'org)
(require 'org-element)
;; window setup
(setq org-agenda-restore-windows-after-quit t)
(setq org-agenda-skip-scheduled-if-done t)
;; use ox-extra to ignore certain headings
(require 'ox-extra)
(ox-extras-activate '(ignore-headlines))
;; disable indenting
(require 'org-indent)
(org-indent-mode -1)
;; we don't want raw inline calls to include a newline
;;(setq org-babel-inline-result-wrap "well, %s")
;; indentation
(defun my-tab-related-stuff ()
; (setq indent-tabs-mode t)
; (setq tab-stop-list (number-sequence 4 200 4))
; (setq default-tab-width 2)
(setq tab-width 2))
; (setq indent-line-function 'insert-tab))
(add-hook 'org-mode-hook 'my-tab-related-stuff)
;; inline results wrapping
(setq org-babel-inline-result-wrap "%s")
;; active Babel languages
(org-babel-do-load-languages
'org-babel-load-languages
'((R . t)
(latex . t)
(dot . t)
(shell . t)
(ditaa . t)
))
;; we trust our own R code so we do not need to confirm
(defun my-org-confirm-babel-evaluate (lang body)
(not (string-match "[Rlatexdotditaashell]" lang ))) ; don't ask for R
(setq org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate)
(require 'ox-latex)
;;; XeLaTeX customisations
;; remove "inputenc" from default packages as it clashes with xelatex
(setf org-latex-default-packages-alist
(remove '("AUTO" "inputenc" t) org-latex-default-packages-alist))
;(setq org-latex-pdf-process '("latexmk -pdf
; -pdflatex='xelatex -shell-escape -interaction nonstopmode' -bibtex -f %f "))
(setq org-latex-pdf-process
'("latexmk -pdflatex='xelatex -interaction nonstopmode' -pdf -bibtex -f %f"))
;; avoid hypersetup
(setq org-latex-with-hyperref nil)
;; latex templates
;\\usepackage[authoryear]{natbib}
(add-to-list 'org-latex-classes
'("myarticle"
"\\documentclass[12pt]{article}
\\usepackage[labelfont=bf]{caption}
\\usepackage{times}
[NO-DEFAULT-PACKAGES]"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
;;----------------------------------------------------------------------
;; bibtex
;;----------------------------------------------------------------------
(require 'bibtex)
(require 'org-ref)
(require 'org-ref-pubmed)
(require 'org-ref-wos)
(require 'org-ref-scopus)
(setq reftex-default-bibliography '("master.bib"))
(setq org-ref-default-bibliography '("master.bib"))

View File

@ -111,7 +111,7 @@
% \centering
\vskip7.6ex
\usebeamercolor{title in headline}{\color{fg}\textbf{\huge{\inserttitle}}\\[1ex]}
\usebeamercolor{title in headline}{\color{fg}\textbf{\Huge{\inserttitle}}\\[1ex]}
\usebeamercolor{author in headline}{\color{fg}\large{\insertauthor}\\[1ex]}
\vskip2.4ex
\end{beamercolorbox}
@ -146,7 +146,7 @@
\begin{columns}[c,onlytextwidth]
\column{.35\textwidth}
%\begin{beamercolorbox}[leftskip=-0.5cm,wd=\columnwidth, ht=3cm]{logo}
\begin{beamercolorbox}[leftskip=-0.5cm,\columnwidth, ht=4cm]{logo}
\begin{beamercolorbox}[leftskip=-0.5cm,wd=\columnwidth, ht=4cm]{logo}
\includegraphics[width=0.9\textwidth,right]{logo_feinstein.pdf}
%\vskip1.6ex
\end{beamercolorbox}
@ -169,10 +169,11 @@
\begin{tabular}{rllrll}
\textbf{Philipp Homan, MD, PhD} & & & & & \\
phoman1@northwell.edu & &
\includegraphics[width=0.5in]{twitter.pdf} & @philipphoman &
\includegraphics[width=0.5in]{github.pdf} & github.com/philipphoman \\
%\textbf{Philipp Homan, MD, PhD} & & & & & \\
\textbf{\auth} & & & & & \\
\authemail & &
\includegraphics[width=0.5in]{twitter.pdf} & \authtwitter &
\includegraphics[width=0.5in]{github.pdf} & \authgithub \\
\end{tabular}
\vspace{-0.2ex}

View File

@ -1,5 +1,5 @@
#+startup: beamer
#+TITLE: Using org-mode to produce scientific posters
#+TITLE: Using org-mode for scientific posters
* Preamble :ignore:
** General comments :ignore:
# ----------------------------------------------------------------------
@ -8,9 +8,11 @@
# - Turn on dictionary by starting flyspell-mode
# - Count words by section using org-wc-display
# ----------------------------------------------------------------------
** Specific comments for this manuscript :ignore:
** Specific comments for this manuscript :ignore:
# ----------------------------------------------------------------------
** org specific settings :ignore:
# This is a comment
# ----------------------------------------------------------------------
** org specific settings :ignore:
# ----------------------------------------------------------------------
#+OPTIONS: email:nil toc:nil num:nil author:nil date:t tex:t title:nil
#+STARTUP: align fold
@ -20,7 +22,7 @@
#+EXCLUDE_TAGS: noexport TODO
#+DATE: {{{time(%Y-%m-%d %H:%M)}}}
# ----------------------------------------------------------------------
** Latex header :ignore:
** Latex header :ignore:
# ----------------------------------------------------------------------
#+LATEX_CLASS: mybeamerposter
#+LATEX_HEADER: \setlength{\paperwidth}{36in}
@ -39,12 +41,16 @@
#+LATEX_HEADER: \newcommand{\Xoi}[1]{#1(i)}
#+LATEX_HEADER: \newcommand{\frakPQ}[2]{\frac{\Xoi{#1}}{\Xoi{#2}}}
#+LATEX_HEADER: \newcommand{\DKLPQ}[3]{D_{\mathrm{KL}}(#1 #3 #2)}
#+LATEX_HEADER: \newcommand{\auth}{Philipp Homan, MD, PhD}
#+LATEX_HEADER: \newcommand{\authemail}{phoman1@northwell.edu}
#+LATEX_HEADER: \newcommand{\authtwitter}{@philipphoman}
#+LATEX_HEADER: \newcommand{\authgithub}{github.com/philipphoman}
#+LATEX_HEADER: \date{}
# ----------------------------------------------------------------------
** Authors and affiliations :ignore:
** Authors and affiliations :ignore:
# ----------------------------------------------------------------------
#+LATEX_HEADER: \author{
#+LATEX_HEADER: Philipp Homan$^{1}$,
#+LATEX_HEADER: Philipp Homan$^{1}$
#+LATEX_HEADER: \\
#+LATEX_HEADER: \normalsize{$^{1}$Department of Psychiatry,}
#+LATEX_HEADER: \normalsize{The Donald and Barbara Zucker}
@ -52,7 +58,7 @@
#+LATEX_HEADER: \normalsize{Hempstead, NY}
#+LATEX_HEADER: }
# ----------------------------------------------------------------------
** Buffer-wide source code blocks :ignore:
** Buffer-wide source code blocks :ignore:
# ----------------------------------------------------------------------
# Set elisp variables need for nice formatting We want no new lines in
# inline results and a paragraph size of 80 characters Important: this
@ -148,16 +154,16 @@
:PROPERTIES:
:BEAMER_env: block
:END:
- Org-mode is not only useful for producing blog posts and even
scientific manuscripts; it is also perfectly suitable to make
- Here we show how org-mode (version src_elisp{org-version}
{{{results(9.1.7)}}}) together with emacs (version
src_elisp{emacs-version} {{{results(25.2.2)}}}) can be used to make
decent looking scientific posters
- We combine a relatively simple custom \LaTeX style file and common
org-mode syntax
- The nice thing about org-mode is that we can populate the poster with
code, graphs and numbers from inline code in languages such as R,
python, Matlab and even shell scripting
- Inline code would look like this, which will produce a graph
(Fig. [[figcode1]]):
- With org-mode we can populate the poster with code, graphs and numbers
from inline code in languages such as R, python, Matlab and even shell
scripting
- For example, this poster was created on {{{time(%Y-%m-%d %H:%M)}}}
- Inline code could look like this (which will produce a graph;
Fig. [[figcode1]]):
**** Block
:PROPERTIES:
@ -337,6 +343,6 @@ plot(d2, col="blue", lwd=3)
:PROPERTIES:
:BEAMER_env: block
:END:
- This little example is meant to show how incredibly versatile
org-mode is
- This little example is meant to show how versatile org-mode is
- Scientific posters can be produced with a simple text editor

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2018-04-02 Mon 22:17
% Created 2018-04-03 Tue 15:36
% Intended LaTeX compiler: pdflatex
\documentclass[final]{beamer}
\usetheme{ph}
@ -23,9 +23,13 @@
\newcommand{\Xoi}[1]{#1(i)}
\newcommand{\frakPQ}[2]{\frac{\Xoi{#1}}{\Xoi{#2}}}
\newcommand{\DKLPQ}[3]{D_{\mathrm{KL}}(#1 #3 #2)}
\newcommand{\auth}{Philipp Homan, MD, PhD}
\newcommand{\authemail}{phoman1@northwell.edu}
\newcommand{\authtwitter}{@philipphoman}
\newcommand{\authgithub}{github.com/philipphoman}
\date{}
\author{
Philipp Homan$^{1}$,
Philipp Homan$^{1}$
\\
\normalsize{$^{1}$Department of Psychiatry,}
\normalsize{The Donald and Barbara Zucker}
@ -33,25 +37,25 @@ Philipp Homan$^{1}$,
\normalsize{Hempstead, NY}
}
\usetheme{default}
\date{2018-04-02 22:17}
\title{Using org-mode to produce scientific posters}
\date{2018-04-03 15:35}
\title{Using org-mode for scientific posters}
\begin{document}
\begin{frame}[fragile,label={sec:orgec21ff0}]{}
\begin{frame}[fragile,label={sec:orge330f04}]{}
\begin{columns}
\begin{column}[t]{0.45\columnwidth}
\begin{block}{Background}
\begin{itemize}
\item Org-mode is not only useful for producing blog posts and even
scientific manuscripts; it is also perfectly suitable to make
\item Here we show how org-mode (version
9.1.7) together with emacs (version
25.2.2) can be used to make
decent looking scientific posters
\item We combine a relatively simple custom \LaTeX style file and common
org-mode syntax
\item The nice thing about org-mode is that we can populate the poster with
code, graphs and numbers from inline code in languages such as R,
python, Matlab and even shell scripting
\item Inline code would look like this, which will produce a graph
(Fig. \ref{fig:org498cf2b}):
\item With org-mode we can populate the poster with code, graphs and numbers
from inline code in languages such as R, python, Matlab and even shell
scripting
\item For example, this poster was created on 2018-04-03 15:35
\item Inline code could look like this (which will produce a graph;
Fig. \ref{fig:org646b9c5}):
\end{itemize}
\begin{columns}
@ -67,7 +71,7 @@ hist(x2, col="blue", add=TRUE)
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{3.png}
\caption{\label{fig:org498cf2b}
\caption{\label{fig:org646b9c5}
This is the output.}
\end{figure}
\end{column}
@ -81,7 +85,7 @@ This is the output.}
capabilities
\item Some code to process the first vector from above to make a table out
of its summary could look like this, which would result in a little
table (Table \ref{tab:org80b4f16}) :
table (Table \ref{tab:org2f8852f}) :
\end{itemize}
\begin{columns}
@ -100,6 +104,8 @@ mutate(name=c("x1", "x2"))
\vspace{2cm}
\begin{table}[htbp]
\caption{\label{tab:org2f8852f}
A table summarizing the two distributions.}
\centering
\begin{tabular}{rrrrrrl}
\hline
@ -109,9 +115,6 @@ minimum & q1 & median & mean & q3 & maximum & name\\
-2.17 & -0.45 & 0.07 & 0.13 & 0.85 & 2.23 & x2\\
\hline
\end{tabular}
\caption{\label{tab:org80b4f16}
A table summarizing the two distributions.}
\end{table}
\end{column}
\end{columns}
@ -122,7 +125,7 @@ A table summarizing the two distributions.}
\begin{block}{Graphics}
\begin{itemize}
\item We can use shell scripting to grab an image with curl from the
internet (Fig. \ref{fig:orge0395cc}):
internet (Fig. \ref{fig:org0ba80fb}):
\end{itemize}
\begin{columns}
@ -139,7 +142,7 @@ curl -0 https://www.gnu.org/software/emacs/images/emacs.png
\begin{figure}[htbp]
\centering
\includegraphics[page=9,width=0.2\textwidth]{emacs.png}
\caption{\label{fig:orge0395cc}
\caption{\label{fig:org0ba80fb}
This is the downloaded image.}
\end{figure}
\end{column}
@ -185,7 +188,7 @@ derived as follows:
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4l.png}
\caption{\label{fig:org9158640}
\caption{\label{fig:org9542cf7}
This is the left figure of a two-column block, showing the density of \(x1\).}
\end{figure}
\end{column}
@ -195,7 +198,7 @@ This is the left figure of a two-column block, showing the density of \(x1\).}
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4r.png}
\caption{\label{fig:org4bc9c2a}
\caption{\label{fig:org3813d21}
This is the right figure. It shows the density of \(x2\).}
\end{figure}
\end{column}
@ -204,8 +207,7 @@ This is the right figure. It shows the density of \(x2\).}
\begin{block}{Conclusions}
\begin{itemize}
\item This little example is meant to show how incredibly versatile
org-mode is
\item This little example is meant to show how versatile org-mode is
\item Scientific posters can be produced with a simple text editor
\end{itemize}
\end{block}

View File

@ -1,4 +1,4 @@
% Created 2018-04-02 Mon 22:15
% Created 2018-04-03 Tue 15:32
% Intended LaTeX compiler: pdflatex
\documentclass[final]{beamer}
\usetheme{ph}
@ -23,9 +23,13 @@
\newcommand{\Xoi}[1]{#1(i)}
\newcommand{\frakPQ}[2]{\frac{\Xoi{#1}}{\Xoi{#2}}}
\newcommand{\DKLPQ}[3]{D_{\mathrm{KL}}(#1 #3 #2)}
\newcommand{\auth}{Philipp Homan, MD, PhD}
\newcommand{\authemail}{phoman1@northwell.edu}
\newcommand{\authtwitter}{@philipphoman}
\newcommand{\authgithub}{github.com/philipphoman}
\date{}
\author{
Philipp Homan$^{1}$,
Philipp Homan$^{1}$
\\
\normalsize{$^{1}$Department of Psychiatry,}
\normalsize{The Donald and Barbara Zucker}
@ -33,25 +37,25 @@ Philipp Homan$^{1}$,
\normalsize{Hempstead, NY}
}
\usetheme{default}
\date{2018-04-02 22:15}
\title{Using org-mode to produce scientific posters}
\date{2018-04-03 15:31}
\title{Using org-mode for scientific posters}
\begin{document}
\begin{frame}[fragile,label={sec:org1571d9a}]{}
\begin{frame}[fragile,label={sec:org04c7cf4}]{}
\begin{columns}
\begin{column}[t]{0.45\columnwidth}
\begin{block}{Background}
\begin{itemize}
\item Org-mode is not only useful for producing blog posts and even
scientific manuscripts; it is also perfectly suitable to make
\item Here we show how org-mode (version
9.1.7) together with emacs (version
25.2.2) can be used to make
decent looking scientific posters
\item We combine a relatively simple custom \LaTeX style file and common
org-mode syntax
\item The nice thing about org-mode is that we can populate the poster with
code, graphs and numbers from inline code in languages such as R,
python, Matlab and even shell scripting
\item Inline code would look like this, which will produce a graph
(Fig. \ref{fig:org6629f8c}):
\item With org-mode we can populate the poster with code, graphs and numbers
from inline code in languages such as R, python, Matlab and even shell
scripting
\item For example, this poster was created on 2018-04-03 15:31
\item Inline code could look like this (which will produce a graph;
Fig. \ref{fig:orgbc6b6ab}):
\end{itemize}
\begin{columns}
@ -67,7 +71,7 @@ hist(x2, col="blue", add=TRUE)
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{3.png}
\caption{\label{fig:org6629f8c}
\caption{\label{fig:orgbc6b6ab}
This is the output.}
\end{figure}
\end{column}
@ -81,7 +85,7 @@ This is the output.}
capabilities
\item Some code to process the first vector from above to make a table out
of its summary could look like this, which would result in a little
table (Table \ref{tab:org74ecade}) :
table (Table \ref{tab:org62ea45d}) :
\end{itemize}
\begin{columns}
@ -100,6 +104,8 @@ mutate(name=c("x1", "x2"))
\vspace{2cm}
\begin{table}[htbp]
\caption{\label{tab:org62ea45d}
A table summarizing the two distributions.}
\centering
\begin{tabular}{rrrrrrl}
\hline
@ -109,9 +115,6 @@ minimum & q1 & median & mean & q3 & maximum & name\\
-2.17 & -0.45 & 0.07 & 0.13 & 0.85 & 2.23 & x2\\
\hline
\end{tabular}
\caption{\label{tab:org74ecade}
A table summarizing the two distributions.}
\end{table}
\end{column}
\end{columns}
@ -122,7 +125,7 @@ A table summarizing the two distributions.}
\begin{block}{Graphics}
\begin{itemize}
\item We can use shell scripting to grab an image with curl from the
internet (Fig. \ref{fig:org966972d}):
internet (Fig. \ref{fig:org45de491}):
\end{itemize}
\begin{columns}
@ -139,7 +142,7 @@ curl -0 https://www.gnu.org/software/emacs/images/emacs.png
\begin{figure}[htbp]
\centering
\includegraphics[page=9,width=0.2\textwidth]{emacs.png}
\caption{\label{fig:org966972d}
\caption{\label{fig:org45de491}
This is the downloaded image.}
\end{figure}
\end{column}
@ -185,7 +188,7 @@ derived as follows:
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4l.png}
\caption{\label{fig:orga3a0e13}
\caption{\label{fig:org2b19bfd}
This is the left figure of a two-column block, showing the density of \(x1\).}
\end{figure}
\end{column}
@ -195,7 +198,7 @@ This is the left figure of a two-column block, showing the density of \(x1\).}
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{4r.png}
\caption{\label{fig:org6c7191a}
\caption{\label{fig:org03df045}
This is the right figure. It shows the density of \(x2\).}
\end{figure}
\end{column}
@ -204,8 +207,7 @@ This is the right figure. It shows the density of \(x2\).}
\begin{block}{Conclusions}
\begin{itemize}
\item This little example is meant to show how incredibly versatile
org-mode is
\item This little example is meant to show how versatile org-mode is
\item Scientific posters can be produced with a simple text editor
\end{itemize}
\end{block}