Selasa, 24 Mei 2011

1 LaTeX Class untuk Report STEI ITB

Tugas-tugas yang biasa saya kerjakan dengan menggunakan standar document class report pada LaTeX secara formatting masih kurang memuaskan. Tergeraklah keinginan memodifikasi class yang yaitu report agar sesuai dengan aturan-aturan yang berlaku pada fakultas tempat saya menuntut ilmu, tapi mungkin dapat juga digunakan untuk fakultas yang lain.

Hal-hal yang perlu diperhatikan adalah peraturan-peraturan penulisan (diambil dari tata penulisan skripsi/tesis bu Aciek Wida) yang baku:

Margin Kertas: atas=4cm, kiri=4cm, bawah=2.5cm, kanan=2.5cm
Huruf: Times New Roman, 12pt, spasi 1.5
Sampul muka: font 14, Bold
Kutipan atau citasi menggunakan format IEEE yaitu berupa angka dengan dihimpit bracket misal: [1] [2]



Memodifikasi file report.cls menjadi tugasitb.cls

Untuk mendapatkan hasil sesuai dengan keinginan file kelas dokumen report di modifikasi besar-besaran untuk dijadikan kelas baru yaitu tugasitb.cls yang berisi formatting yang sesuai dengan kondisi yang diinginkan.
Sebelumnya ma’af bahwa saya bukan programmer, dan belum pernah mengikuti kursus atau kuliah mengenai programming. Perintah-perintah ini saya pelajari secara otodidak dengan sistem TAE (Trial And Error).
Berikut listing commandnya:
%%==============================================%
%%= Unofficial LaTeX document class untuk report pada STEI-ITB
%%= modifikasi dari report.cls standard LaTeX report class
%%= Oleh IRWAN SUSANTO
%%= Sekolah Teknik Elektro dan Informatika
%%= Institut Teknologi Bandung
%%= Mei 2011
%%==============================================%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tugasitb} [2011/05/12 STEI-ITB Unofficial Report Class]
%% MEMERLUKAN PAKET GRAPHICX UNTUK MENAMPILKAN GAMBAR
\RequirePackage{graphicx}
%% MELEWATKAN PILIHAN KE SETTINGAN CLASS REPORT
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}}
\ProcessOptions\relax
\LoadClass[a4paper,12pt,onecolumn,final,openany]{report}
%% PENGATURAN MARGIN [atas=4cm, kiri=4cm, kanan=2.5cm, bawah=2.5cm]
\setlength{\voffset}{-1in}
\setlength{\hoffset}{-1in}
\setlength{\textheight}{\paperheight}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textheight}{-2.5in}
\setlength{\topmargin}{0.75in}
\setlength{\headsep}{0.75in}
\setlength{\footskip}{0.5in}
\addtolength{\textwidth}{-2.5in}
\setlength{\oddsidemargin}{1.6in}
\setlength{\evensidemargin}{1in}
\setlength{\marginparwidth}{.75in}
\setlength{\marginparsep}{.125in}
\setlength{\parskip}{1.5ex}
\setlength{\parindent}{0ex}
\linespread{1.5} % PENGATURAN SPASI 1.5
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
%% PEMBUATAN VARIABEL UNTUK COVER DEPAN
\newcommand{\judul}[1]%
{\ifx\empty#1\empty\else\gdef\@judul{#1}\fi}
\newcommand{\matakuliah}[1]%
{\ifx\empty#1\empty\else\gdef\@matakuliah{#1}\fi}
\newcommand{\mahasiswa}[1]%
{\ifx\empty#1\empty\else\gdef\@mahasiswa{#1}\fi}
\newcommand{\dosen}[1]%
{\ifx\empty#1\empty\else\gdef\@dosen{#1}\fi}
\newcommand{\nim}[1]%
{\ifx\empty#1\empty\else\gdef\@nim{#1}\fi}
\newcommand{\program}[1]%
{\ifx\empty#1\empty\else\gdef\@program{#1}\fi}
\newcommand{\jurusan}[1]%
{\ifx\empty#1\empty\else\gdef\@jurusan{#1}\fi}
\newcommand{\universitas}[1]%
{\ifx\empty#1\empty\else\gdef\@universitas{#1}\fi}
\newcommand{\tahun}[1]%
{\ifx\empty#1\empty\else\gdef\@tahun{#1}\fi}
\def\@judul{}
\def\@matakuliah{}
\def\@mahasiswa{}
\def\@dosen
\def\@nim{}
\def\@program{}
\def\@jurusan{}
\def\@tahun{}
\def\@universitas{}
%% MENGGANTI PENOMORAN PADA TABEL DAN GAMBAR
\renewcommand \thefigure
{\ifnum \c@chapter>\z@ \@arabic\c@chapter.\fi \@arabic\c@figure}
\renewcommand \thetable
{\ifnum \c@chapter>\z@ \@arabic\c@chapter.\fi \@arabic\c@table}
%% PEMBUATAN HALAMAN JUDUL
\renewcommand\maketitle{\begin{titlepage}%
\begin{center}%
{\large \bfseries Tugas Mata Kuliah\\
\@matakuliah \par}%
\vfill
{\normalfont \bfseries Pengajar: \\ \@dosen \par}%
\vfill
{\large \bfseries \MakeUppercase \@judul \par}%
\vfill
{\normalfont \bfseries Oleh:\\ \@mahasiswa \\
NIM : \@nim \\ \@program \par}%
\vfill
{\includegraphics[scale=0.25]{logo-itb} \par}%
\vfill
{\large \bfseries \@jurusan \\ \@universitas \\ \@tahun \par}%
\end{center}\par
\end{titlepage}}%
%% PENGATURAN HEADING
\renewcommand \thepart {\@Roman\c@part}
\renewcommand \thechapter {\@Roman\c@chapter}
\renewcommand \thesection {\@arabic\c@chapter.\@arabic\c@section}
\renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
\renewcommand\@chapapp{\MakeUppercase\chaptername}
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\@chapapp\space\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\def\@makechapterhead#1{%
%======== JARAK ANTARA PINGGIR ATAS KERTAS DENGAN CHAPTER======%
% \vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
%=========MENAMBAHKAN CENTERING AGAR DI TENGAH ===========%
\centering \Large\normalfont \@chapapp\space\thechapter
\par\nobreak
%========JARAK ANTARA TULISAN BAB DENGAN JUDUL BAB ==========%
% \vskip 1\p@
\fi
\interlinepenalty\@M
\Large \normalfont #1\par\nobreak
%=======JARAK ANTARA JUDUL BAB DENGAN SECTION ============%
\vskip24\p@
}}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
\def\@makeschapterhead#1{%
%=============JARAK ANTARA PINGGIR ATAS KERTAS DENGAN CHAPTER*
%\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\centering \Large \normalfont #1\par\nobreak %mengganti Huge dengan Large
\vskip24\p@
}}
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{1ex \@plus.2ex}%
{\normalfont\bfseries}} %diganti dari large menjadi normal
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1ex \@plus .2ex}%
{\normalfont\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1ex \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\renewcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
{\raggedleft\normalfont Halaman \par}%
\@starttoc{toc}%
\linespread{1}
\if@restonecol\twocolumn\fi
}
%======= MENGATUR ULANG JARAK HORISONTAL PADA DAFTAR ISI
\renewcommand*\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{4.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \normalfont % mengganti bfseries menjadi normal font
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}
%%% baris ini menambah titik-titik setelah chapter pada daftar isi %%%
\def\l@chapter#1#2{{
\@dottedtocline{0}{0em}{4.5em}{#1}{#2}}}
%%=========script sampai disisni=============
\renewcommand*\l@section{\@dottedtocline{1}{4.5em}{2em}}
\renewcommand*\l@subsection{\@dottedtocline{2}{6.5em}{3em}}
\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.5em}{4.1em}}
\renewcommand*\l@paragraph{\@dottedtocline{4}{10.5em}{5em}}
\renewcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
%%MENAMBAHKAN CHAPTER HEADING PADA BABEL BAHASA INDONESIA
\AtBeginDocument{%
\addto\captionsbahasa{%
\renewcommand{\bibname}{DAFTAR PUSTAKA}}
\addto\captionsbahasa{%
\renewcommand{\contentsname}{DAFTAR ISI}}
\addto\captionsbahasa{%
\renewcommand{\figurename}{Gambar}}
}
%% AKHIR DARI TUGASITB.CLS
%%=====================================================
Penginstallan pada windows
  • Saya asumsikan bahwa anda menggunakan engine MikTeX, saya menggunakan versi 2.8. 
  • Buat folder baru pada path C:\Program Files\MikTeX 2.8\tex\latex beri nama folder itu sesuai dengan nama kelasnya yaitu tugasitb.
  • Copykan file tugasitb.cls ke folder baru tersebut.
  • Lakukan update database engine MikTeX dengan cara : klik Start>MiKTeX 2.8>Maintenance (Admin)>Setting pilih tombolrefresh FNDB
  • Tunggu, setelah selesai bisa digunakan.
Catatan :
  • Untuk penginstallan pada windows dan menggunakan engine yang lain tergantung folder mana yang terisi kelas-kelas dokumen buat folder baru sesuai nama kelas dan copykan ke situ.
Cara Penginstallan Pada LyX
Untuk Pemakaian pada LyX, selain file kelas tugasitb.cls anda juga membutuhkan dua file tambahan yang telah saya kustom yaitu:
  • tugasitb.layout
  • tugasitb.inc
Setelah melakukan penginstallan pada engine LaTeX seperti langkah sebelumnya, lakukan langkah berikut (dilakukan pada LyX 1.6):
  • copykan file tugasitb.layout dan tugasitb.inc ke folderC:\Program Files\LyX16\Resources\Layouts
  • Jalankan aplikasi LyX, lakukan reconfigure dengan cara memilih pada menu bar Tools>Reconfigure
  • Setelah selesai restart ulang LyX, untuk mengeceknya buka dokumen yang telah dibuat atau buat file baru pilihDocument>Setting>Document Class nanti akan terlihat kelas baru dengan nama report(STEI-ITB)
Berikut link untuk download file-filenya:
SEMOGA BERMANFAAT DAN DITUNGGU MASUKKANNYA.

0 Membuat Tugas Laporan dengan LaTeX

Salam jumpa lagi teman-teman!

Dalam keseharian perkuliahan bilamana ada tugas , saya selalu membuatnya dengan menggunakan LyX (LaTeX versi GUI), sangat menyenangkan. Kita tidak menghabiskan waktu untuk mempermasalahkan penomoran halaman, settingan paragraf dan lain-lain. Kita lebih fokus kepada isi apa yang akan kita tulis. Permasalahannya kadang-kadang template (document class – LaTeX)yang kita gunakan perlu penyesuaian-penyesuaian kecil yang LyX tidak punya tombol/perintah untuk melakukannya.

Meskipun LyX mempunya fasilitas ERT (Evil Red TeX) yaitu kemampuan untuk menyisipkan perintah-perintah LaTeX didalam tampilan dokumennya, akan tetapi lebih baik lagi jika kita terjun langsung merasakan bagaimana membuatnya dengan menggunakan perintah – perintah LaTeX. Jadi serasa coding J

Skip to the things!

Jalankan program LaTeX kita bisa WinEdt, TeXlive, TexWorks, KyLe, LaTeXilla atau seabreg-abreg tools lain yang bisa digunakan.

Sintaknya berikut:
\documentclass[a4paper,12pt]{report}
\begin{document}
\title{Penggunaan Teknik Delphi dalam Analisa Kuesioner}
\author{Irwan Susanto}
\date{January 5, 2011}
\maketitle
\chapter{PENDAHULUAN}
\section{Latar Belakang}
\par{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.}
\par{ 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.
This is our second document. It contains a title and a section with text. }
\end{document}

Mari kita urai sintaks-sintaks ini satu-persatu



\documentclass[a4paper,12pt]{report}
Perintah dasarnya adalah \DocumentClass[pilihan]{kelas dokumen}. Kelas dokumen yang kita gunakan adalah report (laporan), dengan pilihan ukuran kertas adalah A4 dan font dasar 12 point. Kita bisa menggunakan kelas dokumen yang lain, dokumen kelas stander latex yaitu: report, book, article dengan variasinya masing-masing.
\begin{document}
Biasanya diakhiri dengan perintah
\end{document}
Perintah \begin{document} digunakan untuk memulai suatu dokumen, wilayah sebelum \begin{document} dinamakan Document Preamble atau biasa digunakan untuk mendeklarasikan variable-variable atau perintah-perintah untuk menggunakan paket-paket yang berguna bagi dokumen kelas, perintahnya \usepackage[pilihan]{nama_paket}
Perintah dasarnya adalah:
\begin{}
\end{}
Perintah ini bisa untuk memanipulasi suatu kondisi secara berkelompok misalnya : begin{group} end{group}, begin{centering} end{centering}, dan lain-lain.
Berturut-turut yang tidak perlu dijelaskan secara mendetil, karena sudah pasti pemahamannya yaitu:
\title{judul} digunakan untuk menulis judul.
\author{nama_penulis} digunakan untuk mengisi nama penulis.
\date{tanggal} untuk mengisi tanggal bulan dan tahun, atau salah satunya.
\chapter{judul_bab}
\section{judul_section}
\par{paragraf}
Perlu diingat:
Pada dokumen kelas yang ada pada LaTeX tidak memiliki susunan yang sama dalam pengaturan heading untuk chapter, section dst, ada kelas yang menggunakan Part (bagian) sebelum chapter ada pula yang tidak. Begitu pula untuk penomorannya tiap-tiap kelas mengandung perbedaan-perbedaan.
Selamat bereksplorasi dan bereksperimen!
 

Blog CIO Indonesia Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates