Code: Select all
#!/bin/bash
# for document classes, see http://texcatalogue.ctan.org/bytopic.html#classes
# set defaults
DOCCLASS_DEF=article
FONTSIZE_DEF=10
AUTHORNAME_DEF=(`whoami`)
TITLE_DEF=none
DOCDATE_DEF=today
# ask for user input
read -p "Font size in pt (default: $FONTSIZE_DEF) > " FONTSIZE
read -p "Document class (default: $DOCCLASS_DEF) > " DOCCLASS
read -p "Author's name (default: $AUTHORNAME_DEF) > " AUTHORNAME
read -p "Title (default: $TITLE_DEF) > " TITLE
# check if defaults are changed
FONTSIZE="${FONTSIZE:-$FONTSIZE_DEF}"
DOCCLASS="${DOCCLASS:-$DOCCLASS_DEF}"
AUTHORNAME="${AUTHORNAME:-$AUTHORNAME_DEF}"
TITLE="${TITLE:-$TITLE_DEF}"
# Summary
echo Creating $DOCCLASS template named $TITLE with font size of $FONTSIZE pt written by $AUTHORNAME.
# add pt without space
PT="pt"
FONTSIZEPT=`echo $FONTSIZE$PT`
read -p "Save template in /home/$USER as > " TEMPLATE
# create heredoc
cat > /home/$USER/$TEMPLATE <<EOF
\title{$TITLE}
\author{$AUTHORNAME}
\date{\today}
\documentclass[$FONTSIZEPT]{$DOCCLASS}
\begin{document}
\maketitle
\begin{abstract}
Abstract here...
\end{abstract}
\section{Introduction}
This is the introduction
\paragraph{Outline}
This is the outline
\bibliographystyle{abbrv}
\bibliography{main}
\end{document}
EOF
# start Emacs - switch to whizzytex for live preview
emacs -nw /home/$USER/$TEMPLATE