%
% Konfigurasi LaTeX untuk laporan thesis/ta/skripsi/sp sesuai dengan aturan UI
% 
% @author  Andreas Febrian
% @version 1.03
% @edit by Anggoro Dwi Nur Rohman
%
% Terima kasih untuk: 
% 1. Lia Sadita 
% 2. Andre Tampubolon
% 3. Erik Dominikus
%

%
% Konfigurasi ini dibuat dengan menggunakan:
% - konfigurasi laporan TA yang digunakan Fahrurrozi Rahman
% - konfigurasi LaTeX untuk proceeding ICACSIS 2009 yang dibuat oleh Andreas 
%	Febrian dan Andre Tampubolon
% - Laporan Thesis yang dibuat Andreas Febrian
% 


%-----------------------------------------------------------------------------%
% Package
%-----------------------------------------------------------------------------%

%
% From The tocbibind package [author: Peter Wilson, Herries Press]:
% The tocbibind package can be used to add document elements like a 
% bibliography or an index to the Table of Contents. The package is designed 
% to work with the four standard book, report, article and proc classes, and to 
% a limited extent with the ltxdoc class.
% 
\usepackage{tocbibind}

%
% From [Wikipedia]:
% The package hyperref provides LaTeX the ability to create hyperlinks within 
% the document. It works with pdflatex and also with standard "latex" used with 
% dvips and ghostscript or dvipdfm to build a PDF file. For example: 
%	- \hyperref[mainlemma]{lemma \ref{mainlemma}}
%	- \url{http://www.wikibooks.org}
%	- \href{http://www.wikibooks.org}{wikibooks home}
%	- \href{mailto:my_address@wikibooks.org}{
%		\nolinkurl{my_address@wikibooks.org}}
% 
\usepackage{hyperref}
  \hypersetup{
  	a4paper, 
  	colorlinks=false,
  	pdfborder=0 0 0,
  	linkcolor=blue,
  	citecolor=black,
  	bookmarksopen=false,
  	bookmarksnumbered=true,
  	pdfstartview=FitH,
  	pdfview=FitH
	}

%
% The url package allows spacing and line breaks that result in intelligent 
% printing of email addresses, hypertext links, and path or directory addresses. 
% You must enter package commands in TeX fields. The address, link, path, or 
% directory address specified in the command must not contain unbalanced braces. 
% If it doesn't contain certain other characters (such as % or #) and doesn't 
% end with a backslash, you can use the command in the argument to another 
% command.
% 
\usepackage{url}
  \urlstyle{same}
  
% 
%  Agar tabel bisa menggunakan rowspan atau colspan. 
% 
\usepackage{multirow}

%
% Digunakan untuk memasukan gambar ke laporan. 
% 
\usepackage{graphicx}

%
% Digunakan untuk mengantur line spacing pada laporan. Umumnya spacing yang 
% digunakan adalah 1.5. 
% 
\usepackage{setspace}
  \onehalfspacing
  %\doublespacing
  %\singlespacing
  
%
% From Rforge:
% The geometry package controls the overall margins and text area of the 
% document. The package must be called in the preamble of the document and 
% specified when called.
% 
\usepackage[paper=a4paper,headheight=0pt,left=4cm,top=3cm,right=3cm,bottom=3cm]{geometry}

% 
% Digunakan untuk mengatur caption dalam dokumen.
% 
\usepackage[font=footnotesize,format=plain,labelfont=bf,up,textfont=up]{caption}

% digunakan untuk membuat sub gambar didalam figure
% usepackage dilakukan setelah caption,
% 
\usepackage{subcaption}

% 
% Membantu penulisan notasi matematika terutama untuk dokumen dengan banyak 
% rumus. 
% 
\usepackage{amsmath, amsfonts, stmaryrd, amssymb}

% 
% Membuat seluruh tulisan menjadi Times New Roman.
% 
\usepackage{pslatex}

% 
% Package untuk membuat header dan footer pada dokumen. 
% 
\usepackage{fancyhdr}

% 
% Package untuk memasukan berkas pdf sebagai bagian dari dokumen.
% 
\usepackage{pdfpages}

% 
% Membantu dalam mengatur jarak antara tepi kertas dengan posisi header. 
% 
\usepackage[ConnyRevised]{fncychap}

% 
% Digunakan untuk membuat tabel berwarna-warni. 
% 
\usepackage{colortbl}

% 
% 
% 
\usepackage{float}
\floatplacement{figure}{H}
\floatplacement{table}{H}

% Untuk mengatur ukuran font
%
\usepackage{anyfontsize}
%
% Digunakan untuk nomor dengan format inline
%
\usepackage[inline]{enumitem}
%
% Menggunakan biblatex untuk referensi
%
\usepackage[backend=bibtex, style=authoryear-icomp,autocite=inline]{biblatex}
%
% Digunakan untuk menghasilkan tabel pseudocode
%
\usepackage{xcolor}
\usepackage[linesnumbered,ruled,vlined,algochapter]{algorithm2e}
%
% Digunakan untuk membuat mind map
%
\usepackage{tikz}
\usetikzlibrary{mindmap}


%-----------------------------------------------------------------------------%
% Konfigurasi
%-----------------------------------------------------------------------------%
\sloppy

\newif\ifpdf
\ifx\pdfoutput\undefined
   \pdffalse 
\else
   \pdfoutput=1
   \pdftrue
\fi


% link page numbers in TOC 
\makeatletter
\def\contentsline#1#2#3#4{%
  \ifx\\#4\\%
    \csname l@#1\endcsname{#2}{#3}%
  \else
    \csname l@#1\endcsname{%
      \hyper@linkstart{link}{#4}{#2}\hyper@linkend
    }{%
      % same link destination for the page:
      \hyper@linkstart{link}{#4}{#3}\hyper@linkend
      % link destination is the page itself:
      % \hyperpage{#3}%
    }%
  \fi
}
\renewcommand\section{\@startsection {section}{1}{\z@}%
                                  {-3.5ex \@plus -1ex \@minus -.2ex}%
                                  {2.3ex \@plus.2ex}%
                                  {\large\bfseries}}
\makeatother

\setcounter{secnumdepth}{3}

\setcounter{tocdepth}{3}

%
% Atur header dan footer dalam dokumen.
% 
\renewcommand{\headrulewidth}{0.0pt}
	\fancyhf{} 
	\fancyhead[L]{} 
	\fancyhead[C]{} 
	\fancyhead[R]{\thepage} 
	\renewcommand{\headrulewidth}{0.0pt} 
	\fancyfoot[R]{\footnotesize \bo{ }} 
	\renewcommand{\footrulewidth}{0.0pt} 
\pagestyle{fancy}


%-----------------------------------------------------------------------------%
% Perintah Baru
%-----------------------------------------------------------------------------%

%
% Mengganti .et.al pada sitasi dengan dkk
\DefineBibliographyStrings{english}{andothers={\addcomma~dkk}}
%
% Mengganti penghubung 'and' dengan 'dan' pada penghubung mlti name sitasi
\DeclareDelimFormat{finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addcomma~\addspace~dan~\space}
% 
% Perintah untuk membuat huruf tecetak miring. (alias)
\newcommand{\f}[1]{\textit{#1}}
% 
% Perintah untuk huruf tercetak tebal dan miring. 
\newcommand{\bi}[1]{\textbf{\textit{#1}}}
% 
% Perintah untuk huruf tercetak tebal.
\newcommand{\bo}[1]{\textbf{#1}}
% 
% 
\newcommand{\m}[1]{\boldmath{ \( #1 \)}}
% 
% 
\newcommand{\mc}[1]{\boldmath{ \[ #1 \]}}
% 
% 
\newcommand{\code}[1]{{\ttfamily #1}}
% 
% Buat catatan kecil. Catatan akan ditampilkan dalam tabel. 
\newcommand{\todo}[1]{
    \begin{tabular}{| p{13.5cm} |}
		\rowcolor[rgb]{.9,.6,.6}
		\bo{@todo} \\
		\rowcolor[gray]{1.}
		 #1 \\
		 \\
		\hline
	\end{tabular}
    }
% 
% Buat catatan untuk menambahkan referensi. 
\newcommand{\todoCite}{
	\begin{tabular}{| l |}
		\rowcolor[rgb]{.6,.9,.6}
		\bo{@todo} \\
		\rowcolor[gray]{1.} 
		 Referensi \\
		 \\
		\hline
	\end{tabular}
    }
% 
% Tambahkan berkas PDF ke dalam laporan dan gunakan style laporan  
% terhadap berkas ini. 
\newcommand{\inpdf}[1]{
	\includepdf[pages=-,pagecommand={\thispagestyle{fancy}}]{#1.pdf}}
% 
% Tambahkan berkas PDF ke dalam laporan. 
\newcommand{\putpdf}[1]{\includepdf[pages=-]{#1.pdf}}
% 
% Perintah untuk membuat perintah/variabel baru. 
\newcommand{\var}[2]{\newcommand{#1}{#2}}
% 
% Perintah untuk membuat perintah/variabel baru. Teks yang ditulis dalam 
% perintah ini akan diformat ulang menggunakan huruf kapital. 
\newcommand{\Var}[2]{\newcommand{#1}{\uppercase{#2}}}
% 
% Tambahkan kata-kata yang dimasukan kedalam Table of Contents. 
\newcommand{\addChapter}[1]{\phantomsection \addcontentsline{toc}{chapter}{#1}}
% 
% Alias untuk perintah \LaTeX
\newcommand{\latex}{\LaTeX}
%
% 
% fix link daftar isi yang sebelumnya ngelink ke halaman sebelumnya
\newcommand{\daftaIsi}{\phantomsection \tableofcontents}
\newcommand{\daftarGambar}{\phantomsection \listoffigures}
\newcommand{\daftarTabel}{\phantomsection \listoftables}
\newcommand{\kutip}[1]{\citeauthor*{#1}\space(\citeyear{#1})}
\newcommand{\kutipLs}[1]{\citeauthor*{#1},\citeyear{#1}}
\newcommand{\kutipLsHal}[2]{\citeauthor*{#1}, \citeyear{#1}, #2}

%-----------------------------------------------------------------------------%
% Ubah Istilah Penulisan
%-----------------------------------------------------------------------------%
%
% Beberapa istilah yang tepat untuk digunakan dalam laporan.
% 
% 
\renewcommand{\contentsname}{Daftar Isi}
% 
% 
\renewcommand{\listfigurename}{Daftar Gambar}
% 
% 
\renewcommand{\listtablename}{Daftar Tabel}
% 
% 
\renewcommand{\chaptername}{BAB}
% 
% 
\renewcommand{\figurename}{\bo{Gambar}}
% 
% 
\renewcommand{\tablename}{\bo{Tabel}}
% 
% 
\newcommand{\pic}{Gambar}
% 
% 
\newcommand{\tab}{Tabel}
% 
% 
\newcommand{\equ}{Persamaan}
%
%
%%% Coloring the comment as blue in algorthm
\newcommand\mycommfont[1]{\footnotesize\ttfamily\textcolor{blue}{#1}}
\SetCommentSty{mycommfont}
\SetKwInput{KwInput}{Masukan}                % Set the Input
\SetKwInput{KwOutput}{Keluaran}              % set the Output
\SetKwFor{For}{Untuk}{Lakukan}{}
\SetAlgorithmName{Algoritme}{\autoref}{Daftar Algoritme}
