From 60990fec69c5b01f1ee26609be5b9ce71de687e2 Mon Sep 17 00:00:00 2001 From: Jakob Date: Wed, 5 Jan 2022 12:58:44 +0100 Subject: [PATCH] clean up main.tex --- Makefile | 4 +- README.md | 7 ++ macros.tex | 79 ++++++++++++++ main.tex | 128 ++++++---------------- sections/acknowledgements.tex | 2 + sections/availability.tex | 4 + IEEEtran.bst => templates/IEEEtran.bst | 0 IEEEtran.cls => templates/IEEEtran.cls | 0 IEEEtranS.bst => templates/IEEEtranS.bst | 0 templates/usenix-2020-09.sty | 129 +++++++++++++++++++++++ 10 files changed, 256 insertions(+), 97 deletions(-) create mode 100644 README.md create mode 100644 macros.tex create mode 100644 sections/acknowledgements.tex create mode 100644 sections/availability.tex rename IEEEtran.bst => templates/IEEEtran.bst (100%) rename IEEEtran.cls => templates/IEEEtran.cls (100%) rename IEEEtranS.bst => templates/IEEEtranS.bst (100%) create mode 100644 templates/usenix-2020-09.sty diff --git a/Makefile b/Makefile index 0843f4b..b1729e3 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,9 @@ clean: redo: clean main.pdf test_git: - if [ -z "$(git status --untracked-files=no --porcelain)" ]; then exit 0; else echo -e "\nERROR: working directory not clean. commit changes before running versioned build"; exit 1; fi + if [ -z "$$(git status --untracked-files=no --porcelain)" ]; then exit 0; else echo -e "\nERROR: working directory not clean. commit changes before running versioned build"; exit 1; fi # TODO check if we are also synced to at least one remote versioned: test_git clean main.pdf - GITVER=$(shell git rev-parse --short HEAD) && mv main.pdf "main-${GITVER}.pdf" + cp main.pdf "main-$$(date -u +'%Y-%m-%dT%H:%M:%SZ')-$$(git rev-parse --short HEAD).pdf" diff --git a/README.md b/README.md new file mode 100644 index 0000000..2cdb031 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# README + +## Writing + +- the passive voice shall be avoided +- the users of tools shall be named differently +- [citations] shall augment nouns, not replace them \ No newline at end of file diff --git a/macros.tex b/macros.tex new file mode 100644 index 0000000..320802f --- /dev/null +++ b/macros.tex @@ -0,0 +1,79 @@ +% Macros + +% tl;dr: +% \t{this is a todo} +% \q{this is a question} +% \ie, \eg, \ok (makes a checkmark), \etc + +\newcommand{\mypar}[1]{\smallskip\noindent\textbf{#1.}\xspace} + +% names for the tools we work with +%\newcommand{\thecompiler}{\textsc{OATmeal}\xspace} +\newcommand{\thediffer}{\textsc{androSAFE}\xspace} + +\newcommand\reviewcomment[3]{ + \ifreview + \textcolor{#1}{#2 - #3} + \fi +} + +% collaborators: add your initials here and pick a color +\newcommand\ml[1]{\reviewcomment{magenta}{#1}{ML}} +\newcommand\jb[1]{\reviewcomment{teal}{#1}{JB}} + + +\def\t#1{{\color{blue}[TODO] #1}} +\def\q#1{{\color{red}[QUESTION] #1}} + +\newcommand\todo[1]{% + \ifreview + \begin{center} + \begin{minipage}{.95\linewidth} + \color{red!70}\vrule width 3pt% + \colorbox{red!15}{% + \parbox{.95\textwidth}{% + \textcolor{black}{\small% + TODO\@: #1% + }% + }% + }% + \end{minipage} + \end{center} + \fi +} + +\providecommand{\vs}{vs. } +\providecommand{\ie}{\textit{i.e.,}\xspace} +\providecommand{\ia}{\textit{i.a.,}\xspace} +\providecommand{\eg}{\textit{e.g.,}\xspace} +\providecommand{\cf}{\textit{cf.,}\xspace} +\providecommand{\resp}{\textit{resp.,}\xspace} +\providecommand{\etal}{\textit{et al.}\xspace} +\providecommand{\etc}{\textit{etc.}\xspace} +\providecommand{\via}{\textit{via}\xspace} + +\newcommand{\ok}{\ding{51}} + + +% Acronyms + +\usepackage[acronym]{glossaries} +\glsdisablehyper %no links for glossary / acronyms +\newacronym{art}{ART}{Android Runtime} +\providecommand{\art}{\acrshort{art}} +\newacronym{apk}{APK}{Android Package} +\providecommand{\apk}{\acrshort{apk}} +\newacronym{ndk}{NDK}{Native Development Kit} +\providecommand{\ndk}{\acrshort{ndk}} +\newacronym[longplural={Third Party Libraries}]{tpl}{TPL}{Third Party Library} +\providecommand{\tpl}{\acrshort{tpl}} +\newacronym{oat}{OAT}{Of Ahead Time} % m) https://stackoverflow.com/questions/28435860/what-does-oat-mean -- the history android names deserve some research someday (D8, dalvik, ..) +\providecommand{\oat}{\acrshort{oat}} +\newacronym{elf}{ELF}{Executable and Linkable Format} +\providecommand{\elf}{\acrshort{elf}} +\newacronym[shortplural={DEXes}]{dex}{DEX}{Dalvik Executable} +\providecommand{\dex}{\acrshort{dex}} +\newacronym{jit}{JIT}{Just-In-Time} +\providecommand{\jit}{\acrshort{jit}} +\newacronym{aot}{AOT}{Ahead-Of-Time} +\providecommand{\aot}{\acrshort{aot}} \ No newline at end of file diff --git a/main.tex b/main.tex index adf8f71..10dd0eb 100644 --- a/main.tex +++ b/main.tex @@ -1,8 +1,13 @@ -\documentclass[conference]{IEEEtran} -%USENIX Template: +% IEEE Template: +\documentclass[conference]{templates/IEEEtran} +% USENIX Template: %\documentclass[letterpaper,twocolumn,10pt]{article} %\usepackage{usenix-2020-09} + + +% Packages + \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[english]{babel} @@ -25,6 +30,10 @@ \usepackage{xspace} \usepackage{relsize} + + +% Bibliography settings + \usepackage[sorting=anyt,% giveninits=true,% maxbibnames=99,% @@ -67,9 +76,14 @@ \clearfield{doi} } -% Bibliography +% Bibliography imports + \addbibresource{proceedings.bib} -\addbibresource{oatmeal.bib} +\addbibresource{main.bib} + + + +% Hyphen and Hyperref \PassOptionsToPackage{hyphens}{url} \usepackage{hyperref} @@ -90,39 +104,10 @@ pdfpagelayout=SinglePage, unicode } - -% acronyms! -\usepackage[acronym]{glossaries} -\glsdisablehyper %no links for glossary / acronyms -\newacronym{art}{ART}{Android Runtime} -\providecommand{\art}{\acrshort{art}} -\newacronym{apk}{APK}{Android Package} -\providecommand{\apk}{\acrshort{apk}} -\newacronym{ndk}{NDK}{Native Development Kit} -\providecommand{\ndk}{\acrshort{ndk}} -\newacronym[longplural={Third Party Libraries}]{tpl}{TPL}{Third Party Library} -\providecommand{\tpl}{\acrshort{tpl}} -\newacronym{oat}{OAT}{Of Ahead Time} % m) https://stackoverflow.com/questions/28435860/what-does-oat-mean -- the history android names deserve some research someday (D8, dalvik, ..) -\providecommand{\oat}{\acrshort{oat}} -\newacronym{elf}{ELF}{Executable and Linkable Format} -\providecommand{\elf}{\acrshort{elf}} -\newacronym[shortplural={DEXes}]{dex}{DEX}{Dalvik Executable} -\providecommand{\dex}{\acrshort{dex}} -\newacronym{jit}{JIT}{Just-In-Time} -\providecommand{\jit}{\acrshort{jit}} -\newacronym{aot}{AOT}{Ahead-Of-Time} -\providecommand{\aot}{\acrshort{aot}} -% fix margin for todonotes. should not be visible in template -> this messes up the template somewhat -%\setlength {\marginparwidth }{1.5cm} -%\usepackage{todonotes} - -\newcommand{\mypar}[1]{\smallskip\noindent\textbf{#1.}\xspace} - -\newcommand{\thecompiler}{\textsc{OATmeal}\xspace} -\newcommand{\thediffer}{\textsc{androSAFE}\xspace} +% Styling commands %%%% SPACESAVING COMMANDS (if needed) %\captionsetup{belowskip=0.5em,aboveskip=0.5em} @@ -136,58 +121,25 @@ \clubpenalty=10000 \widowpenalty=10000 \displaywidowpenalty=10000 + % Split footnotes \interfootnotelinepenalty=10000 -%------------------------------------------------------------------------------- -% custom codes -%------------------------------------------------------------------------------- -\newif\ifreview + + +% variables and macros + +% global variables + +\newif\ifreview % hides/shows all notes and todos \reviewtrue -\newcommand\reviewcomment[3]{ - \ifreview - \textcolor{#1}{#2 - #3} - \fi -} +% Macros and Acronyms -\newcommand\ml[1]{\reviewcomment{magenta}{#1}{ML}} -\newcommand\jb[1]{\reviewcomment{teal}{#1}{JB}} +\input{macros.tex} -\def\t#1{{\color{blue}[TODO] #1}} -\def\q#1{{\color{red}[QUESTION] #1}} - -\newcommand\todo[1]{% - \ifreview - \begin{center} - \begin{minipage}{.95\linewidth} - \color{red!70}\vrule width 3pt% - \colorbox{red!15}{% - \parbox{.95\textwidth}{% - \textcolor{black}{\small% - TODO\@: #1% - }% - }% - }% - \end{minipage} - \end{center} - \fi -} - - -\providecommand{\vs}{vs. } -\providecommand{\ie}{\textit{i.e.,}\xspace} -\providecommand{\ia}{\textit{i.a.,}\xspace} -\providecommand{\eg}{\textit{e.g.,}\xspace} -\providecommand{\cf}{\textit{cf.,}\xspace} -\providecommand{\resp}{\textit{resp.,}\xspace} -\providecommand{\etal}{\textit{et al.}\xspace} -\providecommand{\etc}{\textit{etc.}\xspace} -\providecommand{\via}{\textit{via}\xspace} -\newcommand{\ok}{\ding{51}} - %------------------------------------------------------------------------------- \begin{document} @@ -211,7 +163,6 @@ \input{sections/abstract.tex} - \input{sections/introduction.tex} \input{sections/background.tex} @@ -228,27 +179,14 @@ \input{sections/conclusion.tex} +\input{sections/availability.tex} -%------------------------------------------------------------------------------- -\section*{Availability} -%------------------------------------------------------------------------------- -To provide reproducibility of our results and foster further research in this area, we provide all analysis artifacts, including the developed source code and created benchmark dataset at \texttt{\url{https://anonymized.com}}. +\input{sections/acknowledgements.tex} - -%------------------------------------------------------------------------------- -%\section*{Acknowledgments} -%------------------------------------------------------------------------------- -% Don't forget to thank folks! - - -%------------------------------------------------------------------------------- -%\section*{References} -%------------------------------------------------------------------------------- +% {References} { %\linespread{0.98}\selectfont \printbibliography } -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\end{document} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ No newline at end of file +\end{document} \ No newline at end of file diff --git a/sections/acknowledgements.tex b/sections/acknowledgements.tex new file mode 100644 index 0000000..04edd5e --- /dev/null +++ b/sections/acknowledgements.tex @@ -0,0 +1,2 @@ +%\section*{Acknowledgments} +% Don't forget to thank folks! diff --git a/sections/availability.tex b/sections/availability.tex new file mode 100644 index 0000000..162e499 --- /dev/null +++ b/sections/availability.tex @@ -0,0 +1,4 @@ +\section*{Availability} +\label{sec:availability} +To provide reproducibility of our results and foster further research in this area, we provide all analysis artifacts, including the developed source code and created benchmark dataset at \texttt{\url{https://anonymized.com}}. + diff --git a/IEEEtran.bst b/templates/IEEEtran.bst similarity index 100% rename from IEEEtran.bst rename to templates/IEEEtran.bst diff --git a/IEEEtran.cls b/templates/IEEEtran.cls similarity index 100% rename from IEEEtran.cls rename to templates/IEEEtran.cls diff --git a/IEEEtranS.bst b/templates/IEEEtranS.bst similarity index 100% rename from IEEEtranS.bst rename to templates/IEEEtranS.bst diff --git a/templates/usenix-2020-09.sty b/templates/usenix-2020-09.sty new file mode 100644 index 0000000..b27596e --- /dev/null +++ b/templates/usenix-2020-09.sty @@ -0,0 +1,129 @@ +% usenix.sty - to be used with latex2e for USENIX. +% To use this style file, look at the template usenix2019_v3.1.tex +% +% $Id: usenix.sty,v 1.2 2005/02/16 22:30:47 maniatis Exp $ +% +% The following definitions are modifications of standard article.sty +% definitions, arranged to do a better job of matching the USENIX +% guidelines. +% It will automatically select two-column mode and the Times-Roman +% font. +% +% 2018-12-19 [for ATC'19]: add packages to help embed all fonts in +% pdf; to improve appearance (hopefully); to make refs and citations +% clickable in pdf +% +% 2020-09-21 file updated to comment out flushend and make it optional + +% +% USENIX papers are two-column. +% Times-Roman font is nice if you can get it (requires NFSS, +% which is in latex2e. + +\if@twocolumn\else\input twocolumn.sty\fi +\usepackage{mathptmx} % times roman, including math (where possible) + +% hopefully embeds all fonts in pdf +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{pslatex} + +% appearance +\usepackage[kerning,spacing]{microtype} % more compact and arguably nicer + +% Uncomment the following line if you want the columns of the last page +% equal in size. But note that doing so may cause issues with some +% document-generating tools. +% \usepackage{flushend} + +% refs and bib +%\usepackage{cite} % order multiple entries in \cite{...} +\usepackage{url} % allow \url in bibtex for clickable links +\usepackage{xcolor} % color definitions, to be use for... +\usepackage[]{hyperref} % ...clickable refs within pdf... +\usepackage{breakurl} % break too-long urls in refs +\hypersetup{ % ...like so + colorlinks, + linkcolor={green!80!black}, + citecolor={red!70!black}, + urlcolor={blue!70!black} +} + +% +% USENIX wants margins of: 0.75" sides, 1" bottom, and 1" top. +% 0.33" gutter between columns. +% Gives active areas of 7" x 9" +% +\setlength{\textheight}{9.0in} +\setlength{\columnsep}{0.33in} +\setlength{\textwidth}{7.00in} + +\setlength{\topmargin}{0.0in} + +\setlength{\headheight}{0.0in} + +\setlength{\headsep}{0.0in} + +\addtolength{\oddsidemargin}{-0.25in} +\addtolength{\evensidemargin}{-0.25in} + +% USENIX wants no page numbers for camera-ready papers, so that they can +% number them themselves. But submitted papers should have page numbers +% for the reviewers' convenience. +% +% +% \pagestyle{empty} + +% +% USENIX titles are in 14-point bold type, with no date, and with no +% change in the empty page headers. The whole author section is 12 point +% italic--- you must use {\rm } around the actual author names to get +% them in roman. +% +\def\maketitle{\par + \begingroup + \renewcommand\thefootnote{\fnsymbol{footnote}}% + \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}% + \long\def\@makefntext##1{\parindent 1em\noindent + \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}% + \if@twocolumn + \twocolumn[\@maketitle]% + \else \newpage + \global\@topnum\z@ + \@maketitle \fi\@thanks + \endgroup + \setcounter{footnote}{0}% + \let\maketitle\relax + \let\@maketitle\relax + \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax} + +\def\@maketitle{\newpage + \vbox to 2.5in{ + \vspace*{\fill} + \vskip 2em + \begin{center}% + {\Large\bf \@title \par}% + \vskip 0.375in minus 0.300in + {\large\it + \lineskip .5em + \begin{tabular}[t]{c}\@author + \end{tabular}\par}% + \end{center}% + \par + \vspace*{\fill} +% \vskip 1.5em + } +} + +% +% The abstract is preceded by a 12-pt bold centered heading +\def\abstract{\begin{center}% +{\large\bf \abstractname\vspace{-.5em}\vspace{\z@}}% +\end{center}} +\def\endabstract{} + +% +% Main section titles are 12-pt bold. Others can be same or smaller. +% +\def\section{\@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus + -.2ex}{2.3ex plus.2ex}{\reset@font\large\bf}} \ No newline at end of file