From 6adf7035aff908622ff4622de5669b3ad6461c1e Mon Sep 17 00:00:00 2001 From: Vasil Zlatanov Date: Thu, 18 Oct 2018 10:39:54 +0100 Subject: Add IEEE style pandoc report --- report/.gitignore | 2 + report/.travis.yml | 7 + report/LICENSE | 21 +++ report/README.md | 52 ++++++++ report/bibliography.bib | 10 ++ report/bibliography.csl | 339 ++++++++++++++++++++++++++++++++++++++++++++++++ report/makefile | 20 +++ report/metadata.yaml | 21 +++ report/paper.md | 45 +++++++ report/template.latex | 293 +++++++++++++++++++++++++++++++++++++++++ 10 files changed, 810 insertions(+) create mode 100644 report/.gitignore create mode 100644 report/.travis.yml create mode 100644 report/LICENSE create mode 100644 report/README.md create mode 100644 report/bibliography.bib create mode 100644 report/bibliography.csl create mode 100644 report/makefile create mode 100644 report/metadata.yaml create mode 100644 report/paper.md create mode 100644 report/template.latex diff --git a/report/.gitignore b/report/.gitignore new file mode 100644 index 0000000..5236e1e --- /dev/null +++ b/report/.gitignore @@ -0,0 +1,2 @@ +*~ + diff --git a/report/.travis.yml b/report/.travis.yml new file mode 100644 index 0000000..49d89e9 --- /dev/null +++ b/report/.travis.yml @@ -0,0 +1,7 @@ +sudo: enabled +dist: trusty +install: + - sudo apt-get -qq update + - sudo apt-get install -y pandoc pandoc-citeproc texlive-full +script: + - make diff --git a/report/LICENSE b/report/LICENSE new file mode 100644 index 0000000..6c59dbd --- /dev/null +++ b/report/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Santos Gallegos + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/report/README.md b/report/README.md new file mode 100644 index 0000000..1313d40 --- /dev/null +++ b/report/README.md @@ -0,0 +1,52 @@ +# IEEE Paper Template for Pandoc + +[![Build Status](https://travis-ci.org/stsewd/ieee-pandoc-template.svg?branch=master)](https://travis-ci.org/stsewd/ieee-pandoc-template) + +## Requirements + +- [Pandoc](http://pandoc.org/) +- [Texlive](https://www.tug.org/texlive/) + +### Ubuntu + +```sh +sudo apt update +sudo apt install pandoc pandoc-citeproc texlive-full +``` + +### Fedora + +```sh +sudo dnf install pandoc pandoc-citeproc texlive-scheme-full +``` + +## Quickly Usage + +- Clone or download this repo. +- Put all your paper content in `paper.md`. +- Change the title and author in `metadata.yaml`. +- Run `make` in a terminal. +- The pdf will be on `build/paper.pdf`. + +## Files + +| File | Description | +|--------------------|-----------------------------------------------------------------------------------------------------------------------------------| +| `metadata.yml` | On this file put all your metadata (author, title, abstract, etc) that will be use for rendering the final pdf. | +| `paper.md` | Here you put all your paper content, if you wish, you could put your content on separate files, but you must edit the `makefile`. | +| `bibliography.bib` | Here put all the bibliography that is used in the paper. | +| `bibliography.csl` | This file is for specify to pandoc how to display the cites (ieee format). | +| `template.latex` | It is used to tell pandoc how to render the paper using the metadata and content of your paper. | +| `makefile` | It is used to compile the pdf, usually the default options are fine. | +| `build/` | On this directory will be final pdf. Make sure to add this to your `.gitignore` file if you are using git. | + +## Recommended Tools + +### Editors + +- [Vim](http://vim.org)/[Neovim](https://neovim.io/) + [vim-pandoc extension](https://github.com/vim-pandoc/vim-pandoc) +- [Atom](http://atom.io) + [language-pfm extension](https://atom.io/packages/language-pfm) + [autocomplete-bibtex extension](https://atom.io/packages/autocomplete-bibtex) + +### Bibliography manager + +- [Zotero](https://www.zotero.org/) + [Better Bibtext extension](https://github.com/retorquere/zotero-better-bibtex) diff --git a/report/bibliography.bib b/report/bibliography.bib new file mode 100644 index 0000000..5bee281 --- /dev/null +++ b/report/bibliography.bib @@ -0,0 +1,10 @@ +@misc{djangoproject_models_2016, + title = {Models and Databases | {{Django}} Documentation | {{Django}}}, + timestamp = {2016-12-19T03:31:30Z}, + urldate = {2016-12-19}, + howpublished = {\url{https://docs.djangoproject.com/en/1.10/topics/db/}}, + author = {{djangoproject}}, + month = dec, + year = {2016} +} + diff --git a/report/bibliography.csl b/report/bibliography.csl new file mode 100644 index 0000000..9d967b0 --- /dev/null +++ b/report/bibliography.csl @@ -0,0 +1,339 @@ + + \ No newline at end of file diff --git a/report/makefile b/report/makefile new file mode 100644 index 0000000..6359a42 --- /dev/null +++ b/report/makefile @@ -0,0 +1,20 @@ +FILES = paper.md \ + metadata.yaml + +OUTPUT = build + +FLAGS = --bibliography=bibliography.bib \ + --csl=bibliography.csl \ + -s \ + -f markdown + +FLAGS_PDF = --template=template.latex + +all: pdf + +pdf: + pandoc -o $(OUTPUT)/paper.pdf $(FLAGS) $(FLAGS_PDF) $(FILES) + +clean: + rm build/* + diff --git a/report/metadata.yaml b/report/metadata.yaml new file mode 100644 index 0000000..a93ce88 --- /dev/null +++ b/report/metadata.yaml @@ -0,0 +1,21 @@ +--- +title: 'Patter Recognition EE4' +author: + - name: Vasil Zlatanov, Nunzio Pucci + affilation: Imperial College + location: London, UK + email: vz215@ic.ac.uk, np@ic.ac.uk +keywords: + - one + - two + - three +numbersections: yes +lang: en +babel-lang: english +abstract: | + This is the abstract for the pattern recognition courswork. + + It consists of two paragraphs. + +... + diff --git a/report/paper.md b/report/paper.md new file mode 100644 index 0000000..5b6fd86 --- /dev/null +++ b/report/paper.md @@ -0,0 +1,45 @@ +# Introduction + +An introduction. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed +do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim +veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse +cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non +proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +# Method + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod +tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At +vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, +no sea takimata sanctus est Lorem ipsum dolor sit amet. + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod +tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At +vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, +no sea takimata sanctus est Lorem ipsum dolor sit amet. + +# Footnotes + +Example of footnote^[A footnote example]. Lorem ipsum dolor sit amet, consectetur +adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna +aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi +ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in +voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint +occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim +id est laborum. + +# Cites + +Zotero + Better BibTex. All cites are on the file bibliography.bib. This is +a cite[@djangoproject_models_2016]. + +# Conclusion + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod +tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At +vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, +no sea takimata sanctus est Lorem ipsum dolor sit amet. + +# References + diff --git a/report/template.latex b/report/template.latex new file mode 100644 index 0000000..4520e03 --- /dev/null +++ b/report/template.latex @@ -0,0 +1,293 @@ +\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$paper,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{IEEEtran} +$if(beamerarticle)$ +\usepackage{beamerarticle} % needs to be loaded first +$endif$ +$if(fontfamily)$ +\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} +$else$ +\usepackage{lmodern} +$endif$ +$if(linestretch)$ +\usepackage{setspace} +\setstretch{$linestretch$} +$endif$ +\usepackage{amssymb,amsmath} +\usepackage{ifxetex,ifluatex} +\usepackage{fixltx2e} % provides \textsubscript +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} + \usepackage[utf8]{inputenc} +$if(euro)$ + \usepackage{eurosym} +$endif$ +\else % if luatex or xelatex + \ifxetex + \usepackage{mathspec} + \else + \usepackage{fontspec} + \fi + \defaultfontfeatures{Ligatures=TeX,Scale=MatchLowercase} +$for(fontfamilies)$ + \newfontfamily{$fontfamilies.name$}[$fontfamilies.options$]{$fontfamilies.font$} +$endfor$ +$if(euro)$ + \newcommand{\euro}{€} +$endif$ +$if(mainfont)$ + \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} +$endif$ +$if(sansfont)$ + \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} +$endif$ +$if(monofont)$ + \setmonofont[Mapping=tex-ansi$if(monofontoptions)$,$for(monofontoptions)$$monofontoptions$$sep$,$endfor$$endif$]{$monofont$} +$endif$ +$if(mathfont)$ + \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} +$endif$ +$if(CJKmainfont)$ + \usepackage{xeCJK} + \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} +$endif$ +\fi +% use upquote if available, for straight quotes in verbatim environments +\IfFileExists{upquote.sty}{\usepackage{upquote}}{} +% use microtype if available +\IfFileExists{microtype.sty}{% +\usepackage{microtype} +\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts +}{} +$if(geometry)$ +\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} +$endif$ +\usepackage[unicode=true]{hyperref} +$if(colorlinks)$ +\PassOptionsToPackage{usenames,dvipsnames}{color} % color is loaded by hyperref +$endif$ +\hypersetup{ +$if(title-meta)$ + pdftitle={$title-meta$}, +$endif$ +$if(author-meta)$ + pdfauthor={$author-meta$}, +$endif$ +$if(keywords)$ + pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, +$endif$ +$if(colorlinks)$ + colorlinks=true, + linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, + citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, + urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, +$else$ + pdfborder={0 0 0}, +$endif$ + breaklinks=true} +\urlstyle{same} % don't use monospace font for urls +$if(lang)$ +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} +$if(babel-newcommands)$ + $babel-newcommands$ +$endif$ +\else + \usepackage{polyglossia} + \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} +$for(polyglossia-otherlangs)$ + \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} +$endfor$ +\fi +$endif$ +$if(natbib)$ +\usepackage{natbib} +\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} +$endif$ +$if(biblatex)$ +\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} +$for(bibliography)$ +\addbibresource{$bibliography$} +$endfor$ +$endif$ +$if(listings)$ +\usepackage{listings} +$endif$ +$if(lhs)$ +\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} +$endif$ +$if(highlighting-macros)$ +$highlighting-macros$ +$endif$ +$if(verbatim-in-note)$ +\usepackage{fancyvrb} +\VerbatimFootnotes % allows verbatim text in footnotes +$endif$ +$if(tables)$ +\usepackage{longtable,booktabs} +% Fix footnotes in tables (requires footnote package) +\IfFileExists{footnote.sty}{\usepackage{footnote}\makesavenoteenv{long table}}{} +$endif$ +$if(graphics)$ +\usepackage{graphicx,grffile} +\makeatletter +\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} +\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} +\makeatother +% Scale images if necessary, so that they will not overflow the page +% margins by default, and it is still possible to overwrite the defaults +% using explicit options in \includegraphics[width, height, ...]{} +\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} +$endif$ +$if(links-as-notes)$ +% Make links footnotes instead of hotlinks: +\renewcommand{\href}[2]{#2\footnote{\url{#1}}} +$endif$ +$if(strikeout)$ +\usepackage[normalem]{ulem} +% avoid problems with \sout in headers with hyperref: +\pdfstringdefDisableCommands{\renewcommand{\sout}{}} +$endif$ +$if(indent)$ +$else$ +\IfFileExists{parskip.sty}{% +\usepackage{parskip} +}{% else +\setlength{\parindent}{0pt} +\setlength{\parskip}{6pt plus 2pt minus 1pt} +} +$endif$ +\setlength{\emergencystretch}{3em} % prevent overfull lines +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} +$if(numbersections)$ +\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} +$else$ +\setcounter{secnumdepth}{0} +$endif$ +$if(subparagraph)$ +$else$ +% Redefines (sub)paragraphs to behave more like sections +\ifx\paragraph\undefined\else +\let\oldparagraph\paragraph +\renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} +\fi +\ifx\subparagraph\undefined\else +\let\oldsubparagraph\subparagraph +\renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} +\fi +$endif$ +$if(dir)$ +\ifxetex + % load bidi as late as possible as it modifies e.g. graphicx + $if(latex-dir-rtl)$ + \usepackage[RTLdocument]{bidi} + $else$ + \usepackage{bidi} + $endif$ +\fi +\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex + \TeXXeTstate=1 + \newcommand{\RL}[1]{\beginR #1\endR} + \newcommand{\LR}[1]{\beginL #1\endL} + \newenvironment{RTL}{\beginR}{\endR} + \newenvironment{LTR}{\beginL}{\endL} +\fi +$endif$ + +% set default figure placement to htbp +\makeatletter +\def\fps@figure{htbp} +\makeatother + +$for(header-includes)$ +$header-includes$ +$endfor$ + +$if(title)$ +\title{$title$$if(thanks)$\thanks{$thanks$}$endif$} +$endif$ +$if(subtitle)$ +\providecommand{\subtitle}[1]{} +\subtitle{$subtitle$} +$endif$ + +$if(author)$ +\author{ + $for(author)$ + \IEEEauthorblockN{$author.name$} + \IEEEauthorblockA{% + $author.affiliation$ \\ + $author.location$ \\ + $author.email$} + $sep$ \and + $endfor$ +} +$endif$ + +$if(institute)$ +\providecommand{\institute}[1]{} +\institute{$for(institute)$$institute$$sep$ \and $endfor$} +$endif$ +\date{$date$} + +\begin{document} +$if(title)$ +\maketitle +$endif$ +$if(abstract)$ +\begin{abstract} +$abstract$ +\end{abstract} +$endif$ + +$if(keywords)$ +\begin{IEEEkeywords} +$for(keywords)$ + $keywords$$sep$; +$endfor$ +\end{IEEEkeywords} +$endif$ + +$for(include-before)$ +$include-before$ + +$endfor$ +$if(toc)$ +{ +$if(colorlinks)$ +\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$black$endif$} +$endif$ +\setcounter{tocdepth}{$toc-depth$} +\tableofcontents +} +$endif$ +$if(lot)$ +\listoftables +$endif$ +$if(lof)$ +\listoffigures +$endif$ +$body$ + +$if(natbib)$ +$if(bibliography)$ +$if(biblio-title)$ +$if(book-class)$ +\renewcommand\bibname{$biblio-title$} +$else$ +\renewcommand\refname{$biblio-title$} +$endif$ +$endif$ +\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} + +$endif$ +$endif$ +$if(biblatex)$ +\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ + +$endif$ +$for(include-after)$ +$include-after$ + +$endfor$ +\end{document} + -- cgit v1.2.3-54-g00ecf