> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/id/pemformatan/04-articles-how-to-change-paragraph-spacing-in-latex.md).

# Pemformatan paragraf

## Pendahuluan

Artikel ini membahas dua metode untuk melakukan perubahan pada berbagai aspek spasi paragraf:

* metode terbaik, dan yang direkomendasikan, yaitu menggunakan paket LaTeX seperti [`setspace`](https://ctan.org/pkg/setspace) dan [`parskip`](https://ctan.org/pkg/parskip) yang menyediakan opsi dan perintah tingkat pengguna untuk mengubah spasi dokumen LaTeX Anda;
* penggunaan TeX/LaTeX tingkat rendah *perintah parameter* untuk memodifikasi spasi paragraf. Penggunaan langsung perintah parameter dapat melewati pemeriksaan atau kontrol yang disediakan oleh paket LaTeX yang dirancang dengan cermat, yang berpotensi menimbulkan konsekuensi/sifat samping yang tak terduga di bagian lain dokumen LaTeX Anda, jadi gunakan dengan hati-hati...

### Loncat ke bagian yang diminati

Pembaca yang mencari solusi cepat:

* pergi ke bagian [*Menggunakan paket LaTeX: setspace dan parskip*](#using-latex-packages-setspace-and-parskip)

Pembaca yang tertarik pada perintah tingkat rendah:

* pergi ke bagian-bagian [*Perintah parameter TeX/LaTeX*](#using-texlatex-parameter-commands) dan [*Dasar-dasar: perintah parameter dan contoh*](#the-fundamentals-parameter-commands-and-examples)

Pembaca yang tertarik pada detail halus tentang perhitungan spasi baris dan struktur paragraf:

* pergi ke bagian [*Struktur paragraf dan perhitungan spasi baris*](#paragraph-structure-and-line-space-calculations)

## Menggunakan paket LaTeX: setspace dan parskip

* [Paket parskip](#the-parskip-package)
* [Paket setspace](#the-setspace-package)

### Paket parskip

Fitur [`parskip` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/parskip?lang=en) membantu Anda mengubah dengan aman spasi yang disisipkan di antara paragraf dalam dokumen Anda. Paket ini dirancang untuk memastikan bahwa struktur dokumen seperti daftar isi, lingkungan daftar, dan judul tampilan tidak terpengaruh secara buruk oleh nilai non-nol dari [`\parskip` perintah](#parskip-tex-primitive), yang digunakan untuk menetapkan jumlah spasi yang disisipkan TeX/LaTeX di antara paragraf.

Fitur `parskip` paket ini tidak menyediakan perintah tingkat pengguna apa pun; sebagai gantinya, paket ini menggunakan opsi paket untuk mengonfigurasi tindakannya. The [`parskip` dokumentasi](https://mirror.ox.ac.uk/sites/ctan.org/macros/latex/contrib/parskip/parskip.pdf) singkat, hanya tiga halaman, tetapi berikut ringkasan singkat opsi paket:

* **`skip`**: tentukan `\parskip`, spasi vertikal antara paragraf;
* **`tocskip`**: tentukan nilai non-nol `\parskip` yang digunakan dalam `\tableofcontents` dan daftar serupa;
* **`indent`**: tetapkan nilai `\parindent`, indentasi paragraf;
* **`parfill`**: menyesuaikan nilai `\parfillskip`, glue yang ditambahkan di akhir baris terakhir dalam sebuah paragraf.

Secara bawaan,  `parskip` paket menetapkan `\parindent` ke `0pt` dan menyediakan nilai non-nol `\parskip` nilai `.5[\baselineskip](#baselineskip-tex-primitive) ditambah 2pt`.

#### Contoh paket parskip

Contoh berikut menunjukkan beberapa penggunaan paket `parskip` Pilih tautan “Open in Overleaf” untuk membuka dan mengompilasi contoh menggunakan Overleaf.

**Contoh minimal paket parskip**

Contoh minimal berikut memuat paket `parskip` dan menata dua paragraf yang dibuat menggunakan [`blindtext` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/blindtext?lang=en). Contoh ini juga menata nilai default dari `\baselineskip`, `\parskip` dan `\parindent`. Jumlah spasi antara kedua paragraf ditentukan oleh nilai `\parskip`:

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Muat paket blindtext untuk teks dummy
\usepackage{blindtext}
% Muat paket parskip tanpa opsi
\usepackage{parskip}
\begin{document}

\blindtext[1]\par % Gunakan \par untuk memaksa paragraf baru
\blindtext[1]

Nilai \verb|\parindent| adalah \texttt{\the\parindent}. Berikut nilai lainnya:

\begin{itemize}
\item Nilai \verb|\baselineskip| adalah \texttt{\the\baselineskip}
\item Nilai \verb|\parskip| adalah \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+without+options%0A%5Cusepackage%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+is+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+Here+are+the+other+values%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+The+value+of+%5Cverb%7C%5Cparskip%7C+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh penggunaan paket LaTeX parskip](/files/4b3b56346c1df368b1b0b564afd26dc232dfc827)

Perhatikan bahwa `\parskip` glue biasanya mengandung komponen glue yang dapat direnggangkan [komponen glue](#a-few-notes-on-glue) karena itu membantu LaTeX menempatkan konten pada halaman dan menghasilkan pemisah halaman yang terbaik (optimal).

**Menggunakan opsi paket parskip**

Contoh berikut memuat dan mengonfigurasi opsi paket `parskip` menggunakan opsi `skip` dan `indent` Ini juga menata dua paragraf, melalui [`blindtext` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/blindtext?lang=en), dan menata nilai dari `\baselineskip`, `\parskip` dan `\parindent`.

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Muat paket blindtext untuk teks dummy
\usepackage{blindtext}
% Muat paket parskip dengan opsi skip dan indent
\usepackage[skip=10pt plus1pt, indent=40pt]{parskip}
\begin{document}

\blindtext[1]\par % Gunakan \par untuk memaksa paragraf baru
\blindtext[1]

Nilai \verb|\parindent| ditetapkan melalui opsi \texttt{indent}, jadi sekarang nilainya \texttt{\the\parindent}. Nilai lainnya adalah:

\begin{itemize}
\item \verb|\baselineskip| adalah \texttt{\the\baselineskip}
\item \verb|\parskip| ditetapkan melalui opsi \texttt{skip}, jadi nilainya adalah \texttt{\the\parskip}
\end{itemize}
\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+parskip+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+parskip+package+with+skip+and+indent+options%0A%5Cusepackage%5Bskip%3D10pt+plus1pt%2C+indent%3D40pt%5D%7Bparskip%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cblindtext%5B1%5D%5Cpar+%25+Use+%5Cpar+to+force+a+new+paragraph%0A%5Cblindtext%5B1%5D%0A%0AThe+value+of+%5Cverb%7C%5Cparindent%7C+was+set+via+the+%5Ctexttt%7Bindent%7D+option%2C+so+it+is+now+%5Ctexttt%7B%5Cthe%5Cparindent%7D.+The+other+values+are%3A%0A%0A%5Cbegin%7Bitemize%7D%0A%5Citem+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D%0A%5Citem+%5Cverb%7C%5Cparskip%7C+was+set+via+the+%5Ctexttt%7Bskip%7D+option%2C+so+its+value+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh kedua penggunaan paket LaTeX parskip](/files/1e0b6c0b3b7e3d980561147ae1418240de4690ec)

### Paket setspace

Fitur [`setspace` ke preambel dokumen Anda (seperti disarankan](https://ctan.org/pkg/setspace?lang=en) menyediakan perintah dan lingkungan untuk mengubah spasi baris teks dalam dokumen Anda. Berikut ringkasan singkat perintah dan lingkungan utama yang disediakan oleh `setspace`:

* perintah-perintah **`\singlespacing`**, **`\onehalfspacing`** dan **`\doublespacing`** dapat digunakan di preambel dokumen, atau di dalam isi dokumen untuk mengubah spasi pada sebagian, atau seluruh, dokumen Anda;
* situs web **`\setstretch{*baselinestretch amount*}`** perintah menetapkan spasi khusus (melalui perubahan pada [`\baselinestretch`](#demonstrating-baselinestretch))—perintah ini juga dapat digunakan di preambel dokumen;
* lingkungan **`singlespace`**, **`singlespace*`** **`onehalfspace`** dan **`doublespace`** memungkinkan spasi baris diubah untuk bagian tertentu dari teks dokumen;
* situs web **`\SetSinglespace{*value*}`** perintah menggunakan `*value*` untuk menyesuaikan spasi satu baris agar sesuai dengan spasi baris teks yang diketik dengan font yang bentuk karakternya (“glyph”) relatif kecil, atau besar, untuk ukuran poin tertentu. Lihat bagian [*Catatan singkat tentang font dan ukuran poin*](#brief-notes-on-fonts-and-point-size) untuk ilustrasi yang menunjukkan variasi ukuran glyph font untuk ukuran poin tertentu;
* situs web **`spasi`** lingkungan menyediakan spasi khusus dan memerlukan satu argumen: the [`\baselinestretch` nilai](#demonstrating-baselinestretch) yang akan digunakan; contohnya:

```latex
\begin{spacing}{2.5}
...
...
\end{spacing}
```

#### Contoh paket setspace

Contoh berikut menunjukkan beberapa penggunaan paket `setspace` paket: klik tautan “Open in Overleaf” untuk membuka dan mengompilasi contoh menggunakan Overleaf.

**Menggunakan \doublespacing di preambel dokumen**

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Muat paket blindtext untuk teks dummy
\usepackage{blindtext}
% Muat paket setspace
\usepackage{setspace}
% Menggunakan \doublespacing di preambel
% mengubah teks menjadi spasi ganda
\doublespacing
\begin{document}
\blindtext[1]
\end{document}
```

&#x20;[Buka `setspace` contoh di Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+doublespacing+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh perintah \doublespacing dari setspace](/files/bb06fc1246d12c65c18f93ec11ccf370b7cdff5c)

**Menggunakan lingkungan spacing**

Karena kode berikut menghasilkan 3 halaman, sebaiknya lihat keluaran di Overleaf dengan memilih tautan “Open in Overleaf” yang disediakan di bawah.

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Muat paket blindtext untuk teks dummy
\usepackage{blindtext}
% Muat paket setspace
\usepackage{setspace}
% Menggunakan \doublespacing di preambel
% mengubah teks menjadi spasi ganda
\doublespacing
\begin{document}
\blindtext[1]

Sekarang, terapkan spasi (khusus) yang lebih besar dengan menerapkan nilai \verb|\baselinestretch| sebesar 3:

\begin{verbatim}
\begin{spacing}{3}
\blindtext[1]
\end{spacing}
\end{verbatim}

\begin{spacing}{2.5}
\blindtext[1]
\end{spacing}
Sekarang, kembali ke \verb|\singlespacing|\singlespacing\blindtext[1]
\end{document}
```

&#x20;[Buka `setspace` contoh di Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+various+setspace+commands\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%25+Using+%5Cdoublespacing+in+the+preamble+%0A%25+changes+text+to+double+line+spacing%0A%5Cdoublespacing%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D%0A%0ANow%2C+apply+a+larger+%28custom%29+spacing+by+applying+a+%5Cverb%7C%5Cbaselinestretch%7C+value+of+3%3A%0A%0A%5Cbegin%7Bverbatim%7D%0A%5Cbegin%7Bspacing%7D%7B3%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bverbatim%7D%0A%0A%5Cbegin%7Bspacing%7D%7B2.5%7D%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0ANow%2C+revert+to+%5Cverb%7C%5Csinglespacing%7C%5Csinglespacing%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

**Menggunakan lingkungan singlespace\***

Seperti dicatat dalam artikel [*Catatan singkat tentang spasi baris*](https://texblog.org/2011/09/30/quick-note-on-line-spacing/),  `setspace` paket menyediakan versi berbintang (`singlespace*`) dan tanpa bintang dari `singlespace` lingkungan. Komentar dalam kode paket mencatat bahwa `setspace` lingkungan dirancang untuk “... memberikan spasi vertikal yang lebih baik di sekitar lingkungan itemize dan quote”. `singlespace*` lingkungan dirancang untuk “... memberikan spasi vertikal yang lebih baik di sekitar lingkungan itemize dan quote”.

Contoh berikut menggunakan daftar berpoin yang terdapat dalam dua `minipage` lingkungan, ditempatkan berdampingan, untuk menunjukkan perbedaan spasi yang dihasilkan oleh `singlespace` dan `singlespace*` environments.

```latex
\doublespacing
\blindtext[1]

\begin{minipage}{.4\textwidth}
\begin{singlespace}
Berikut daftar berpoin\par (lingkungan \texttt{singlespace}).
\begin{itemize}
\item Satu
\item Dua
\item Tiga
\end{itemize}
\end{singlespace}%
Daftar telah berakhir.
\end{minipage}\kern10pt%
\begin{minipage}{.4\textwidth}
\begin{singlespace*}
Berikut daftar berpoin\par (lingkungan \texttt{singlespace*}).
\begin{itemize}
\item Satu
\item Dua
\item Tiga
\end{itemize}
\end{singlespace*}
Daftar telah berakhir.
\end{minipage}
```

&#x20;[Buka `setspace` contoh di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+starred+singlespace+environment\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cdoublespacing+%0A%5Cblindtext%5B1%5D%0A%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%7D%25%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%5Ckern10pt%25%0A%5Cbegin%7Bminipage%7D%7B.4%5Ctextwidth%7D%0A%5Cbegin%7Bsinglespace%2A%7D%0AHere+is+a+bulleted+list%5Cpar+%28%5Ctexttt%7Bsinglespace%2A%7D+environment%29.%0A%5Cbegin%7Bitemize%7D%0A%5Citem+One%0A%5Citem+Two%0A%5Citem+Three%0A%5Cend%7Bitemize%7D%0A%5Cend%7Bsinglespace%2A%7D%0AThe+list+has+ended.%0A%5Cend%7Bminipage%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh lingkungan LaTeX singlespace\*](/files/823fa2f02e9e74f7bbe59945b40945d4f5400d4e)

**Menggunakan perintah \setstretch**

`\setstretch{*value*}` menetapkan nilai `\baselinestretch` ke *nilai* dan memicu *langsung* perubahan pada `baselineslip` yang disebabkan oleh `\baselinestretch`. Contoh berikut menggunakan `\setstretch{1.618}`—nilai aneh 1,618 adalah [dijelaskan kemudian dalam artikel](#understanding-and-calculating-values-for-baselinestretch)...

```latex
% Angka aneh 1,618 dijelaskan kemudian dalam artikel.
\setstretch{1.618}
Kita menulis \verb|\setstretch{1.618}| untuk menyebabkan perubahan langsung pada spasi baris. Jika kita menulis \verb|\renewcommand{\baselinestretch}{1.618}|, spasi baris tidak akan diubah sampai perintah pengubah font, seperti \verb|\selectfont|, digunakan.

\blindtext[1]
```

&#x20;[Buka `setspace` contoh di Overleaf.](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+setstretch+command\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Load+the+setspace+package%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%25+The+strange+figure+of+1.618+is+explained+later+in+the+article.%0A%5Csetstretch%7B1.618%7D%0AWe+write+%5Cverb%7C%5Csetstretch%7B1.618%7D%7C+to+cause+an+immediate+change+to+the+line+spacing.+If+we+wrote+%5Cverb%7C%5Crenewcommand%7B%5Cbaselinestretch%7D%7B1.618%7D%7C+the+line+spacing+would+not+be+modified+until+a+font-changing+command%2C+such+as+%5Cverb%7C%5Cselectfont%7C%2C+is+used.%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh perintah \setstretch](/files/fffd4221a26a3598cca098436c2792d572d5947f)

**Menggunakan perintah \SetSinglespace**

Proyek berikut dikompilasi melalui LuaLaTeX dan menggunakan paket `fontspec` untuk mengakses font TeX Gyre Pagella. Ini membandingkan dua paragraf teks yang diketik dalam TeX Gyre Pagella: paragraf pertama menggunakan spasi satu baris default dan yang kedua memiliki spasi satu baris yang lebih besar karena penerapan `\SetSinglespace{1.1}`. Sebagian orang mungkin lebih menyukai paragraf kedua yang sedikit “lebih terbuka”, karena merasa itu meningkatkan kenyamanan membaca, tetapi tentu saja itu masalah preferensi pribadi.

```latex
\section*{Spasi satu baris default Computer Modern}
Beberapa teks biasa. \blindtext[1]
\setmainfont{TeX Gyre Pagella}
\section*{Spasi satu baris default TeX Gyre Pagella}
Berikut beberapa teks biasa. \blindtext[1]
\section*{Spasi satu baris TeX Gyre Pagella yang disesuaikan}
Catatan: kita perlu menjalankan \verb|\singlespacing| setelah menulis
\verb|\SetSinglespace{1.1}|\SetSinglespace{1.1}\singlespacing
\begin{singlespace*}
Berikut beberapa teks biasa. \blindtext[1]
\end{singlespace*}
```

&#x20;[Buka `setspace` contoh di Overleaf.](https://www.overleaf.com/docs?engine=lualatex\&snip_name=Example+use+of+the+SetSinglespace+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bfontspec%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csection%2A%7BComputer+Modern+default+single+spacing%7D%0ASome+regular+text.+%5Cblindtext%5B1%5D%0A%5Csetmainfont%7BTeX+Gyre+Pagella%7D%0A%5Csection%2A%7BTeX+Gyre+Pagella+default+single+line+spacing%7D%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Csection%2A%7BTeX+Gyre+Pagella+adjusted+single+line+spacing%7D%0ANote%3A+we+need+to+issue+%5Cverb%7C%5Csinglespacing%7C+after+writing++%0A%5Cverb%7C%5CSetSinglespace%7B1.1%7D%7C%5CSetSinglespace%7B1.1%7D%5Csinglespacing%0A%5Cbegin%7Bsinglespace%2A%7D+%0AHere+is+some+regular+text.+%5Cblindtext%5B1%5D%0A%5Cend%7Bsinglespace%2A%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Demonstrasi perintah LaTeX \SetSinglespace](/files/9b4f25c6ec71f8ce0bbc81986f5e938b29194ff0)

Pada bagian berikutnya kami meninjau perintah `\baselinestretch` dan `\linespread`.

#### Memahami \baselinestretch dan \linespread

Bagian dari desain LaTeX untuk menangani spasi baris dan perubahan font (ukuran font, keluarga font, pengodean font, dll.) menggunakan dua perintah yang mungkin Anda temui:

* **`\baselinestretch`**: perintah ini menyimpan faktor skala yang digunakan untuk mengalikan (menskalakan) nilai saat ini dari [`\baselineskip`](#baselineskip-tex-primitive). Penskalaan itu biasanya diterapkan saat *lain kali* perintah pemilihan font digunakan—seperti `\selectfont`. Untuk mengubah nilai yang disimpan oleh `\baselinestretch` Anda harus menulis `\renewcommand{\baselinestretch}{*scale*}`
  * **Catatan**: Jika Anda menulis `\renewcommand{\baselinestretch}{*scale*}` di isi dokumen, nilai baru dari `\baselinestretch` [tidak akan berlaku segera](https://tex.stackexchange.com/questions/241120/why-does-changing-baselinestretch-not-change-line-spacing): nilai baru `*scale*` faktor disimpan untuk digunakan nanti. Untuk segera menggunakan/menerapkan nilai`*scale*` baru, tulis `\selectfont` seperti diperlihatkan dalam [cuplikan kode di bawah](#demonstrating-baselinestretch).
* **`\linespread{*scale*}`**: dapat digunakan untuk mengubah [`\baselineskip`](#baselineskip-tex-primitive) tanpa memengaruhi ukuran font saat ini. Perintah ini menetapkan `\baselinestretch` ke `*scale*` yang kemudian mengubah `\baselineskip` ke `*scale* × [\baselineskip](#baselineskip-tex-primitive)`. Namun, penskalaan itu juga tidak terjadi segera kecuali `\linespread` perintah digunakan di preambel dokumen. Jika `\linespread` digunakan di isi dokumen, efeknya muncul setelah perintah pengaturan/pemilihan ukuran font berikutnya digunakan.

Berdasarkan hal di atas, salah satu dari berikut:

* `\renewcommand{\baselinestretch}{*scale*}\selectfont` atau,
* `\linespread{*scale*}\selectfont`

dapat digunakan untuk mengubah spasi baris, dan keduanya akan bekerja lintas perubahan ukuran font, seperti ditunjukkan dalam contoh di bawah. Jadi, mana yang sebaiknya Anda gunakan? Lihat [diskusi singkat ini di tex.stackexchange](https://tex.stackexchange.com/a/241121).

**Mendemonstrasikan \linespread**

Contoh berikut menggunakan `\linespread{2.5}` di preambel dokumen, yang mengubah spasi baris tanpa memerlukan perintah pemilihan font tambahan:

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=18cm,paperwidth=14cm,textwidth=12cm]{geometry}
% Muat paket blindtext untuk teks dummy
\usepackage{blindtext}
% Menggunakan \linespread di preambel mengubah
% spasi baris tanpa memerlukan tambahan
% perintah pemilihan font, seperti \selectfont
\linespread{2.5}
\begin{document}
\blindtext[1] % Baris-barisnya dipengaruhi oleh \linespread{2.5}
\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+use+of+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%25+Using+%5Clinespread+in+the+preamble+changes+%0A%25+line+spacing+without+requiring+additional%0A%25+font-selection+commands%2C+such+as+%5Cselectfont%0A%5Clinespread%7B2.5%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Cblindtext%5B1%5D+%25+The+lines+are+affected+by+%5Clinespread%7B2.5%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Menggunakan perintah linespread](/files/e2e7cd0e1074d473361b2a7f228cb1206fadce29)

Menggunakan `\linespread{2.5}` di isi dokumen (setelah `\begin{document}`) *akan* memerlukan perintah pemilihan font untuk memicu perubahan spasi baris. Buka kode berikut di Overleaf dan bandingkan keluarannya dengan contoh sebelumnya:

```latex
Karena perintah \verb|\linespread| berikut digunakan di isi dokumen, perintah pemilihan font diperlukan untuk mengubah spasi baris. Buka komentar \verb|\selectfont| untuk melihat perbedaannya:

\linespread{2.5}%\selectfont

% Tanpa \selectfont, baris paragraf berikut
% tidak terpengaruh oleh \linespread{2.5}:
\blindtext[1]
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Second+example+using+the+linestretch+command\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D14cm%2Ctextwidth%3D12cm%5D%7Bgeometry%7D%0A%25+Load+blindtext+package+for+dummy+text%0A%5Cusepackage%7Bblindtext%7D%0A%5Cbegin%7Bdocument%7D%0ABecause+the+following+%5Cverb%7C%5Clinespread%7C+command+is+used+in+the+document+body%2C+a+font-selection+command+is+required+to+change+the+line+spacing.+Un-comment+%5Cverb%7C%5Cselectfont%7C+to+see+the+difference%3A%0A%0A%5Clinespread%7B2.5%7D%25%5Cselectfont%0A+%0A%25+Without+%5Cselectfont+the+following+paragraph+lines+are+%0A%25+unaffected+affected+by+%5Clinespread%7B2.5%7D%3A+%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![menggunakan perintah \linespread LaTeX di dokumen](/files/2ab4d111b0b55ef847e86c572bb9a0e326d9a18c)

**Mendemonstrasikan \baselinestretch**

Contoh berikut mendemonstrasikan `\baselinestretch` dan `\selectfont` untuk menunjukkan dampak yang sesuai pada [`\baselineskip`](#baselineskip-tex-primitive):

```latex
Nilai default \verb|\baselineskip|=\the\baselineskip. Sekarang perbarui \verb|\baselinestretch|\renewcommand\baselinestretch{2.5}. Namun, meskipun kita telah menjalankan

\vspace{5pt}
\verb|\renewcommand\baselinestretch{2.5}|
\vspace{5pt}

\noindent ternyata \textit{belum} (sampai sekarang) memiliki efek apa pun: nilai baru \verb|\baselinestretch| disimpan, tetapi belum dijalankan. Kita dapat menjalankan perintah \verb|\selectfont| agar perubahan berlaku; tetapi untuk saat ini, nilai \verb|\baselineskip| masih \the\baselineskip{} (tidak berubah).

Jika sekarang kita menjalankan \verb|\selectfont|, perubahan pada \verb|\baselinestretch|, yang menetapkannya menjadi 2,5, kini akan berlaku---\selectfont bahkan di tengah paragraf. Sekarang, nilai \verb|\baselineskip| adalah \the\baselineskip{} (= \(2.5 \times 12=30\mathrm{pt}\)).

Apa yang terjadi jika kita mengubah ukuran font menjadi 14pt dan \verb|\baselineskip| menjadi 16pt menggunakan perintah \verb|\fontsize{14}{16}\selectfont|?

\fontsize{14}{16}\selectfont Sekarang, \verb|\baselineskip| \textit{bukan} 16pt melainkan \the\baselineskip{} karena nilai \verb|\baselinestretch| (2,5) telah dipertahankan dan diterapkan, menghasilkan \verb|\baselineskip| = \(2.5 \times 16=40\mathrm{pt}\).

\section{\texttt{\bfseries\string\linespread}}
Perintah \verb|\linespread| dapat digunakan untuk memodifikasi \verb|\baselineskip| tanpa mengubah ukuran font.
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D18cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cbegin%7Bdocument%7D%0AThe+default+value+of+%5Cverb%7C%5Cbaselineskip%7C%3D%5Cthe%5Cbaselineskip.+Now+update+%5Cverb%7C%5Cbaselinestretch%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D.+However%2C+although+we+have+executed%0A%0A%5Cvspace%7B5pt%7D%0A%5Cverb%7C%5Crenewcommand%5Cbaselinestretch%7B2.5%7D%7C+%0A%5Cvspace%7B5pt%7D%0A%0A%5Cnoindent+it+%5Ctextit%7Bhas+not%7D+%28yet%29+had+any+effect%3A+the+new+value+of+%5Cverb%7C%5Cbaselinestretch%7C+is+stored%2C+but+not+actioned.+We+can+issue+a+%5Cverb%7C%5Cselectfont%7C+command+to+make+the+change+take+effect%3B+but%2C+for+now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+still+%5Cthe%5Cbaselineskip%7B%7D+%28unchanged%29.+%0A%0AIf+we+now+execute+%5Cverb%7C%5Cselectfont%7C+the+change+to+%5Cverb%7C%5Cbaselinestretch%7C%2C+setting+it+to+2.5%2C+will+now+take+effect---%5Cselectfont+even+though+we+are+in+the+middle+of+a+paragraph.+Now%2C+the+value+of+%5Cverb%7C%5Cbaselineskip%7C+is+%5Cthe%5Cbaselineskip%7B%7D+%28%3D+%5C%282.5+%5Ctimes+12%3D30%5Cmathrm%7Bpt%7D%5C%29%29.%0A%0AWhat+happens+if+we+change+the+font+size+to+14pt+and+%5Cverb%7C%5Cbaselineskip%7C+to+16pt+using+the+commands+%5Cverb%7C%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont%7C%3F+%0A%0A%5Cfontsize%7B14%7D%7B16%7D%5Cselectfont+Now%2C+%5Cverb%7C%5Cbaselineskip%7C+is+%5Ctextit%7Bnot%7D+16pt+but+%5Cthe%5Cbaselineskip%7B%7D+because+the+value+of++%5Cverb%7C%5Cbaselinestretch%7C+%282.5%29+has+been+preserved+and+applied%2C+giving+%5Cverb%7C%5Cbaselineskip%7C+%3D+%5C%282.5+%5Ctimes+16%3D40%5Cmathrm%7Bpt%7D%5C%29.%0A%0A%5Csection%7B%5Ctexttt%7B%5Cbfseries%5Cstring%5Clinespread%7D%7D%0AThe+%5Cverb%7C%5Clinespread%7C+command+can+be+used+to+modify+%5Cverb%7C%5Cbaselineskip%7C+without+changing+the+font+size.%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Mendemonstrasikan baselinestretch](/files/015781a4651c8e05f2ce01b4554ea613c1ef918d)

#### Bagaimana “spasi baris” didefinisikan dan diubah dalam paket setspace?

Fitur *tepat* definisi, dan *pengukuran* dari, “spasi baris” terbuka untuk interpretasi, yang dapat menghasilkan berbagai implementasi dalam sistem/aplikasi perangkat lunak. Jelas, paket `setspace` harus mengasumsikan definisi kerja spasi baris sehingga dapat menyediakan dukungan untuk penataan huruf “spasi tunggal” dan “spasi ganda”, atau kelipatan spasi baris lainnya. Tetapi variabel mana yang dimodifikasi oleh `setspace` untuk menghasilkan baris dengan tingkat spasi putih berbeda di antaranya?

Untungnya, [diskusi di tex.stackexchange](https://tex.stackexchange.com/a/30106) dan [komentar dalam kode paket](https://tex.stackexchange.com/a/632830) menjelaskan bagaimana `setspace` menerapkan spasi baris: ia menetapkan nilai `\baselineskip` menggunakan kelipatan dari ukuran poin font.

**Catatan singkat tentang font dan ukuran poin**

Menggunakan font pada ukuran poin tertentu berarti menerapkan *faktor skala* pada bentuk karakter (glyph) dalam font tersebut; setelah diskalakan sesuai ukuran poin, ukuran yang terlihat dari karakter merupakan fungsi desain font (typeface). Ukuran poin tidak memiliki hubungan universal yang baku dengan ukuran tampilan sebenarnya dari bentuk karakter dalam font.

Gambar berikut menunjukkan huruf kecil “abc” yang ditata menggunakan 4 font berbeda dan semuanya *ditampilkan pada ukuran poin yang sama*. Perhatikan bagaimana “ukuran” huruf kecil ini bervariasi menurut desain font (typeface) meskipun semuanya diketik pada *ukuran poin yang sama* :

![Berbagai font pada ukuran poin yang sama](/files/c16605b96da1f413d5c206aa2648c527cd5cde78)

#### Spasi baris tunggal dalam paket setspace

Kita dapat menggunakan [diskusi di tex.stackexchange](https://tex.stackexchange.com/a/30106) sebagai dasar untuk beberapa penjelasan lebih lanjut.

Dokumen dasar yang menggunakan kelas `article` memiliki ukuran font teks default 10pt dengan `\baselineskip` sebesar 12pt. Dengan opsi \[11pt] atau \[12pt], kelas article menggunakan ukuran teks yang lebih besar dan nilai yang lebih besar secara proporsional untuk `\baselineskip` seperti ditunjukkan pada tabel berikut:

| opsi              | ukuran font                 | $$\texttt{\baselineskip}$$ | $$\displaystyle\frac{\texttt{\baselineskip}}{\text{font size}}$$ |
| ----------------- | --------------------------- | -------------------------- | ---------------------------------------------------------------- |
| \[10pt] (default) | 10pt                        | 12pt                       | 1.2                                                              |
| \[11pt]           | 10,95pt$${}^{\textbf{\*}}$$ | 13,6pt                     | 1.24                                                             |
| \[12pt]           | 12pt                        | 14.5                       | 1.21                                                             |

$${}^{\textbf{\*}}$$Alasan nilai yang tidak lazim dari `10,95pt`, dan bukan tepat `11pt`, dijelaskan dengan baik dalam [postingan Reddit ini](https://www.reddit.com/r/LaTeX/comments/ihle9h/why_does_latex_use_1095pt_text_when_the_11pt/).

Seperti ditunjukkan dalam tabel, untuk setiap kombinasi ukuran poin teks, dan nilai default yang sesuai (yaitu, spasi satu baris) dari `\baselineskip`, rasio

$$\frac{\texttt{\baselineskip}}{\text{font size}}$$

mendekati 1,2. Nilai rasio itu menunjukkan spasi satu baris dan menjadi dasar untuk perhitungan spasi baris yang digunakan oleh `setspace` paket.

**Memahami dan menghitung nilai untuk \baselinestretch**

Untuk mencapai kelipatan spasi baris tertentu seperti 1,5, 2, 3, dll., perintah `\baselinestretch` harus ditetapkan ke nilai yang tampaknya [“aneh”](https://tex.stackexchange.com/a/30106); misalnya dengan [menggunakan `\linespread` perintah](https://texblog.org/2011/09/30/quick-note-on-line-spacing/). Di bagian ini kita akan melihat lebih dekat `\baselinestretch` untuk melihat bagaimana nilai-nilai “aneh” itu muncul.

Mari kita pilih dokumen dengan ukuran font default $$f$$ dan default `\baselineskip` sebesar $$\text{dbls}\_1$$, di mana subskrip $${}\_1$$ menyiratkan default `\baselineskip` nilai untuk spasi satu baris pada ukuran font $$f$$.

Kita akan ***mendefinisikan*** spasi satu baris sebagai rasio berikut yang akan kita sebut sebagai $$\alpha\_f$$:

$$\frac{\text{dbls}\_1}{f}=\alpha\_f$$

Untuk ukuran font tertentu $$f$$, mari kita juga *mendefinisikan* nilai spasi baris berikut:

* kelipatan 1,5 dari spasi baris didefinisikan sebagai *didefinisikan* sebagai

$$\frac{\text{dbls}\_{1.5}}{f}=1.5$$

* kelipatan 2,0 dari spasi baris didefinisikan sebagai *didefinisikan* sebagai

$$\frac{\text{dbls}\_{2.0}}{f}=2.0$$

* kelipatan, $$m$$, dari spasi baris didefinisikan sebagai *didefinisikan* sebagai

$$\frac{\text{dbls}\_{m}}{f}=m$$

Menggunakan spasi satu baris kita, yang didefinisikan oleh rasio $$\alpha\_f$$, kita dapat menulis “pseudo code” berikut untuk menghitung nilai `\baselinestretch` yang sesuai dengan kelipatan spasi baris apa pun $$m$$:

$$\begin{align\*} \texttt{multi spacing } (m) &= \text{a constant } (\lambda) \times \texttt{single spacing}\ \frac{\text{dbls}\_{m}}{f}&=\lambda \times \alpha\_f\ m&=\lambda\alpha\_f\ \lambda&=\frac{m}{\alpha\_f}\kern5pt(\text{refer to }\lambda\text{ as }\texttt{\baselinestretch})\ \implies \texttt{\baselinestretch}&=\frac{m}{\alpha\_f} \end{align\*}$$

Mari kita gunakan `11pt` teks (sebenarnya `10,95pt`) dan default `\baselineskip` nilai `13,6pt` untuk menghitung `\baselinestretch` untuk *ganda* jarak antarbaris:

$$\begin{align\*} m&=2.0\ \texttt{\baselinestretch}&=\frac{2.0}{\alpha\_f}\ &=\frac{2.0}{\frac{\text{dbls}\_1}{f}}\ &=\frac{2.0}{\frac{13.6}{11}}\ &=2.0 \times \frac{11}{13.6}\ &=1.618\ \end{align\*}$$

Fragmen kode berikut digunakan dalam `setspace` paket untuk mencapai `\doublespacing` ketika ukuran font adalah 11pt. Perhatikan bagaimana nilai `1.618`, sebagaimana dihitung di atas, disimpan dalam perintah `\baselinestretch`:

```latex
\newcommand{\doublespacing}{%
  \setstretch {1.667}%  default
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.667}%
  \or % 11pt
    \setstretch {1.618}%
  \or % 12pt
    \setstretch {1.655}%
  \fi
}
```

Dengan menggunakan sebuah `article` kelas dokumen dengan opsi font 11pt, contoh berikut membandingkan `\doublespacing` dengan sebuah `spasi` lingkungan yang menggunakan nilai hasil perhitungan kami sebesar `1.618` untuk `\baselinestretch`. Tidak mengherankan, `\baselineskip` nilainya identik (`22.00475pt`):

```latex
\begingroup
\doublespacing
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\doublespacing)|

\blindtext[1]

\endgroup

\begin{spacing}{1.618}
\verb|\baselineskip|=\texttt{\the\baselineskip} (via \verb|\begin{spacing}{1.618})|

\blindtext[1]
\end{spacing}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demonstrating+baselinestretch+calculations\&snip=%5Cdocumentclass%5B11pt%5D%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D25cm%2Cpaperwidth%3D16cm%2Ctextwidth%3D14cm%5D%7Bgeometry%7D%0A%5Cusepackage%7Bsetspace%7D%0A%5Cusepackage%7Bblindtext%7D+%25+For+dummy+text.%0A%5Cbegin%7Bdocument%7D%0A%5Cbegingroup%0A%5Cdoublespacing%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cdoublespacing%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%0A%5Cendgroup%0A%0A%5Cbegin%7Bspacing%7D%7B1.618%7D%0A%5Cverb%7C%5Cbaselineskip%7C%3D%5Ctexttt%7B%5Cthe%5Cbaselineskip%7D+%28via+%5Cverb%7C%5Cbegin%7Bspacing%7D%7B1.618%7D%29%7C%0A%0A%5Cblindtext%5B1%5D%0A%5Cend%7Bspacing%7D%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![demonstrasi \baselinestretch](/files/42efdf53e86810229f405f1059c6caaa84ecbd64)

Perhitungan serupa untuk `\baselinestretch` berlaku untuk ukuran font dan kombinasi jarak antarbaris lainnya, sebagaimana tercantum dalam tabel berikut:

![parameter setspace](/files/47e6bd7a38509d01dade6cbdcee5be5fac742c53)

## Menggunakan perintah parameter TeX/LaTeX

Bagian berikut membahas sejumlah perintah yang berkaitan dengan spasi/pemformatan paragraf: beberapa perintah tersebut adalah *yang dibangun ke dalam* mesin penyusun huruf TeX, yang lain adalah makro TeX/LaTeX. Perintah yang dibangun ke dalam mesin TeX dikenal sebagai *primitif*, yang berarti mereka bersifat *mendasar* dan *tak tereduksi* karena, tidak seperti makro, primitive tidak dibangun dari rangkaian perintah lain.

Secara khusus, kita akan membahas sejumlah primitive *perintah parameter* yang didukung oleh semua mesin TeX, termasuk pdfTeX, XeTeX, dan LuaTeX. Perintah parameter, baik yang terkait paragraf maupun tidak, digunakan untuk *mendapatkan nilai saat ini* dari parameter yang bersangkutan, atau *mengatur parameter tersebut ke nilai baru*. Misalnya, `\parskip` perintah tersebut, sebuah primitive, menentukan nilai parameter yang mengontrol jumlah ruang kosong yang disisipkan di antara dua paragraf yang telah disusun.

Untuk *mendapatkan* (di sini, untuk menata huruf) nilai saat ini dari `\parskip` Anda dapat menulis:

```latex
\the\parskip
```

Untuk *set* nilai saat ini dari `\parskip` ke `1pt plus2pt` (glue fleksibel) Anda dapat menulis sesuatu seperti ini:

```latex
\setlength{\parskip}{1pt plus2pt}
```

Kami juga membahas beberapa TeX/LaTeX yang berguna *makro*, perintah tingkat lebih tinggi yang ditulis dan dibangun menggunakan rangkaian perintah penyusunnya.

### Perintah yang digunakan untuk spasi paragraf

Perintah berikut (primitive dan makro) dapat digunakan untuk memengaruhi spasi paragraf. Beberapa dibahas lebih rinci dan dapat diakses dengan mengikuti tautan dari nama perintah.

#### Perintah primitive

* [`**\parindent**`](#parindent-tex-primitive): jumlah indentasi (ruang kosong) yang ditambahkan ke baris pertama paragraf.
* [`**\parskip**`](#parskip-tex-primitive): jumlah ruang kosong fleksibel (“glue”) yang ditempatkan di antara paragraf.
* [`**\rightskip**`](#leftskip-and-rightskip-tex-primitives): spasi fleksibel (glue) yang disisipkan di sebelah kanan setiap baris dalam paragraf.
* [`**\leftskip**`](#leftskip-and-rightskip-tex-primitives): spasi fleksibel (glue) yang disisipkan di sebelah kiri setiap baris dalam paragraf.
* [`**\baselineskip**`](#baselineskip-tex-primitive): nilai parameter ini memiliki dua fungsi:
  * ia menetapkan jarak yang diinginkan antara garis dasar teks dalam sebuah paragraf;
  * ia digunakan untuk menghitung jumlah ruang (glue) yang bervariasi dan ditambahkan di antara baris untuk mencapai jarak garis-dasar ke garis-dasar yang diinginkan ([lihat nanti dalam artikel](#how-the-space-glue-between-paragraph-lines-is-calculated)).
* [`**\lineskiplimit**`](#lineskip-and-lineskiplimit-tex-primitives): parameter yang nilainya menentukan jarak minimum yang dapat diterima antara dua baris yang berdekatan dalam paragraf.
* [`**\lineskip**`](#lineskip-and-lineskiplimit-tex-primitives): jumlah ruang (glue) yang disisipkan di antara dua baris dalam paragraf jika glue hasil perhitungan `\baselineskip` akan menyebabkan baris terlalu berdekatan.
* `**\parfillskip**`: glue yang sangat fleksibel ditambahkan di akhir baris terakhir dalam paragraf untuk “mengisinya” dengan ruang kosong; untuk contoh visual, lihat ilustrasi pada bagian [*Memvisualisasikan jenis glue paragraf lainnya*](#visualizing-other-types-of-paragraph-glue).

#### Perintah makro

Perintah makro TeX/LaTeX berikut sering digunakan untuk memodifikasi spasi paragraf:

* [`**\offinterlineskip**` dan `**\nointerlineskip**`](#offinterlineskipandnointerlineskip): perintah yang dapat digunakan untuk mematikan perhitungan dan penyisipan `\baselineskip` glue;
* [`**\baselinestretch**`](#understanding-and-calculating-values-for-baselinestretch): perintah yang menyimpan faktor numerik yang digunakan untuk menghitung nilai `\baselineskip` ketika sebuah font dipilih. Nilai defaultnya adalah 1;
* [`**\linespread**`](#demonstrating-linespread): perintah ini dapat digunakan untuk mengubah nilai saat ini dari `\baselinestretch`.

### Spasi fleksibel (glue)

Mesin TeX mencapai efek spasi, termasuk di dalam atau di antara paragraf, melalui penggunaan ruang kosong fleksibel yang disebut *glue* yang dapat direnggangkan atau dipersempit sesuai jumlah ruang yang diperlukan. Jika Anda ingin mempelajari konsep glue dalam TeX, detail lebih lanjut dapat ditemukan dalam artikel Overleaf berikut:

* [Menjelajahi kotak underfull atau overfull dan perhitungan badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv)
* [Bagaimana TeX menghitung pengaturan glue dalam sebuah \hbox](/latex/id/artikel-mendalam/24-how-tex-calculates-glue-settings-in-an-hbox.md)
* [Memahami peringatan kotak underfull dan overfull](/latex/id/basis-pengetahuan/138-understanding-underfull-and-overfull-box-warnings.md).

## Dasar-dasar: perintah parameter dan contoh

Pada bagian ini kami menjelaskan sejumlah perintah parameter yang terkait paragraf dan memberikan contoh penggunaannya.

### \parindent (TeX primitive)

Perintah parameter ini menetapkan jumlah indentasi (ruang kosong) yang ditambahkan ke baris pertama paragraf. Nilainya dapat diubah dengan menggunakan `\setlength` perintah LaTeX; misalnya, untuk memberi indentasi paragraf sebesar `15pt` set `\parindent` ke `15pt` dengan menulis:

```latex
\setlength{\parindent}{15pt}
```

Perhatikan bahwa:

* Anda dapat mengubah `\parindent` di dalam sebuah grup, sehingga efeknya terbatas pada paragraf dalam grup tersebut;
* `\parindent` dapat bernilai negatif, menghasilkan “outdent” alih-alih indent;
* secara default LaTeX tidak memberi indent pada paragraf pertama setelah judul bagian dokumen (`\section{...}` dll).

Contoh berikut mendemonstrasikan penggunaan `\parindent`.

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Buat perintah untuk menyimpan sebuah paragraf teks
\newcommand{\testpar}{\texttt{\string\parindent=\the\parindent\ }Ketika \TeX{} menata sebuah paragraf, ia memperlakukan setiap karakter individual sebagai ``kotak'' 2D dengan lebar, tinggi, dan kedalaman tertentu.\par}
\begin{document}

% Atur \parskip untuk memberi jarak 10pt antarparagraf
\setlength{\parskip}{10pt}

% Atur nilai \parindent menjadi 0pt
\setlength{\parindent}{0pt}
\testpar

% Atur nilai \parindent menjadi 10pt
\setlength{\parindent}{10pt}
\testpar

% Atur \parindent dalam sebuah grup
{\setlength{\parindent}{50pt}\testpar}

% Sekarang \parindent kembali menjadi 10pt
\testpar

% Ya, Anda dapat memiliki \parindent negatif
\setlength{\parindent}{-20pt}
\testpar
\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+paragraph+indentation\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Ctexttt%7B%5Cstring%5Cparindent%3D%5Cthe%5Cparindent%5C+%7DWhen+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D+%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%25+Set+%5Cparskip+to+put+10pt+between+paragraphs%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%0A%0A%25+Set+the+value+of+%5Cparindent+to+0pt%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%5Ctestpar%0A%0A%25+Set+the+value+of+%5Cparindent+to+10pt%0A%5Csetlength%7B%5Cparindent%7D%7B10pt%7D%0A%5Ctestpar%0A%0A%25+Set+%5Cparindent+in+a+group%0A%7B%5Csetlength%7B%5Cparindent%7D%7B50pt%7D%5Ctestpar%7D%0A%0A%25+Now+%5Cparindent+is+again+10pt%0A%5Ctestpar%0A%0A%25+Yes%2C+you+can+have+a+negative+%5Cparindent%0A%5Csetlength%7B%5Cparindent%7D%7B-20pt%7D%0A%5Ctestpar%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Menggunakan berbagai nilai indentasi paragraf di LaTeX](/files/9667c4315af89f4fbe1efbf8dee9cac1b8466e26)

### \parskip (TeX primitive)

Keterbacaan teks dapat ditingkatkan dengan memisahkan paragraf menggunakan sejumlah ruang kosong yang bervariasi sesuai estetika desain tertentu. TeX/LaTeX memungkinkan pengguna mengontrol spasi antarparagraf tersebut melalui `\parskip` perintah parameter.

* **Saran dari `parskip` ke preambel dokumen Anda (seperti disarankan**: Paket ini [paket parskip](https://ctan.org/pkg/parskip) menyarankan bahwa memodifikasi secara langsung `\parskip` dapat “mengakibatkan spasi vertikal di tempat yang tidak terduga” (dalam dokumen LaTeX).  `parskip` Paket ini berupaya memperbaiki masalah spasi yang mungkin timbul akibat perubahan nilai `\parskip`—seperti pada daftar isi dan lingkungan daftar. Lihat juga bagian paket [`parskip` dalam artikel ini](#the-parskip-package).

Untuk mengatur secara manual nilai saat ini dari `\parskip` gunakan `\setlength` perintah LaTeX; misalnya, untuk memisahkan paragraf sebesar 3pt Anda dapat menulis:

```latex
\setlength{\parskip}{3pt}
```

Contoh berikut mendemonstrasikan penggunaan `\parskip`:

```latex
\documentclass{article}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Buat perintah untuk menyimpan sebuah paragraf teks
\newcommand{\testpar}{\noindent Nilai saat ini dari \texttt{\string\parskip} adalah \texttt{\the\parskip}. Ketika \TeX{} menata sebuah paragraf, ia memperlakukan setiap karakter individual sebagai kotak 2D~``box'' dengan lebar, tinggi, dan kedalaman tertentu.\par}
\begin{document}
\testpar
% Atur \parskip menjadi 5pt
\setlength{\parskip}{5pt}\testpar
% Atur parskip menjadi 10pt
\setlength{\parskip}{10pt}\testpar
% Atur \parskip menjadi 25pt (tetapi di dalam grup)
{\setlength{\parskip}{25pt}\testpar}
% Grup berakhir, sekarang \parskip kembali menjadi 10pt
\testpar
% Ya, Anda dapat memiliki \parskip negatif
\setlength{\parskip}{-20pt}\testpar
\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Changing+parskip+settings\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Create+a+command+to+hold+a+paragraph+of+text%0A%5Cnewcommand%7B%5Ctestpar%7D%7B%5Cnoindent+The+current+value+of+%5Ctexttt%7B%5Cstring%5Cparskip%7D+is+%5Ctexttt%7B%5Cthe%5Cparskip%7D.+When+%5CTeX%7B%7D+typesets+a+paragraph+it+treats+each+individual+character+as+a+2D%7E%60%60box%27%27+with+a+specific+width%2C+height+and+depth.%5Cpar%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar%0A%25+Set+%5Cparskip+to+5pt+%0A%5Csetlength%7B%5Cparskip%7D%7B5pt%7D%5Ctestpar%0A%25+Set+parskip+to+10pt%0A%5Csetlength%7B%5Cparskip%7D%7B10pt%7D%5Ctestpar%0A%25+Set+%5Cparskip+to+25pt+%28but+in+a+group%29%0A%7B%5Csetlength%7B%5Cparskip%7D%7B25pt%7D%5Ctestpar%7D%0A%25+Group+ends%2C+now+%5Cparskip+is+again+10pt%0A%5Ctestpar%0A%25+Yes%2C+you+can+have+a+negative+%5Cparskip%0A%5Csetlength%7B%5Cparskip%7D%7B-20pt%7D%5Ctestpar%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Mendemonstrasikan penggunaan \parskip di LaTeX](/files/5a87b04a06b66655d650d2687237dcf7456a24b2)

#### \parskip fleksibel

Secara tradisional, `\parskip` bukan sebuah *tetap* nilai, yang akan menghasilkan jumlah ruang yang sama di antara semua paragraf. Sebaliknya, `\parskip` biasanya didefinisikan sebagai “ruang fleksibel” (disebut glue) yang memungkinkan TeX meregangkan atau menyusutkan ruang antarparagraf, membantu menyesuaikan konten pada halaman dan menemukan tempat yang “baik” untuk pemisahan halaman.

Untuk membuat `\parskip` menjadi fleksibel, Anda dapat menuliskannya dalam bentuk spesifikasi glue:

`\setlength{\parskip}{*jumlah tetap* **plus** *jumlah yang dapat direnggangkan* **minus** *jumlah yang dapat dipersempit*}`

di mana `**plus**` dan `**minus**` sudah *kata kunci* digunakan oleh TeX/LaTeX untuk mengidentifikasi *jumlah yang dapat direnggangkan* atau *jumlah yang dapat dipersempit* yang terdapat dalam spesifikasi glue. Artikel Overleaf [*Menjelajahi kotak underfull atau overfull dan perhitungan badness*](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv) memuat pembahasan yang lebih mendalam tentang glue.

Misalnya, untuk memungkinkan `\parskip` bervariasi antara `3 + 1 = 4pt` dan `3 — 1 = 2pt` Anda dapat menulis

```latex
\setlength{\parskip}{3pt plus1pt minus1pt}
```

### \leftskip dan \rightskip (primitive TeX)

Mesin TeX menyediakan dua perintah parameter yang menambahkan ruang (glue) di sebelah kiri dan kanan setiap baris dalam paragraf yang ditata. Sesuai namanya:

* `\leftskip` menyisipkan ruang (glue) di sebelah kiri setiap baris dalam paragraf;
* `\rightskip` menyisipkan ruang (glue) di sebelah kanan setiap baris dalam paragraf.

Contoh berikut menggunakan `\leftskip` dan `\rightskip` untuk memodifikasi perataan paragraf secara langsung; namun... perubahan perataan teks biasanya paling baik dicapai melalui lingkungan atau paket LaTeX yang sesuai—misalnya, lihat [artikel Overleaf tentang perataan teks](/latex/id/pemformatan/06-text-alignment.md). Meskipun kami mendemonstrasikan perilaku beberapa perintah parameter tingkat rendah (primitive) yang disediakan oleh mesin TeX, secara umum disarankan untuk menggunakan paket LaTeX yang sesuai jika memungkinkan.

#### Menjadikan \leftskip tetap dan \rightskip fleksibel

Contoh berikut menghasilkan dua paragraf: yang pertama menggunakan nilai default LaTeX untuk `\leftskip` dan `\rightskip` dan paragraf kedua ditata menggunakan pengaturan berikut:

```latex
\leftskip 10pt
\rightskip 0pt plus 1 fill
```

Buka proyek Overleaf berikut untuk melihat hasilnya:

```latex
\documentclass{article}
\title{Contoh kedua leftskip dan rightskip}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Atur nilai beberapa parameter yang terkait paragraf
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB, masing-masing berisi teks untuk sebuah paragraf.
% Tata sebuah paragraf dengan nilai default \leftskip dan \rightskip

\mytextB

% Atur \leftskip dan \rightskip ke nilai baru
\leftskip 10pt
\rightskip 0pt plus 1fill
\vspace{8pt}

% Sekarang tata ulang paragraf yang sama
\mytextB

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Mengatur glue \leftskip di LaTeX](/files/131d9a20df3985920eca6ead2879e0fe8380d640)

Grafik berikut adalah versi beranotasi dari paragraf kedua yang dihasilkan oleh contoh di atas. Grafik ini dirancang untuk menyoroti dan menunjukkan jumlah `\leftskip` dan `\rightskip` glue yang disisipkan dalam baris-baris paragraf, bersama dengan `\parindent` ruang untuk baris pertama:

![Mengatur glue \leftskip di LaTeX](/files/bf8bba9b7218609601e3f66d0f9b87b5f0b66137)

Perhatikan bahwa `\leftskip` glue memiliki ukuran tetap (10pt) tetapi `\rightskip` glue telah meregang untuk menyediakan jumlah ruang kosong apa pun yang diperlukan untuk mengisi sisi kanan setiap baris. “Fleksibilitas” ini disebabkan oleh spesifikasi `\rightskip` yang memuat `plus 1 fill`—menyediakan bentuk glue yang “dapat direnggangkan tak hingga”.

#### Menjadikan \rightskip tetap dan \leftskip fleksibel

Contoh berikut menghasilkan dua paragraf: yang pertama menggunakan nilai default LaTeX untuk `\leftskip` dan `\rightskip` dan paragraf kedua ditata menggunakan pengaturan berikut:

```latex
\leftskip 0pt plus 1 fill
\rightskip 10pt
```

Buka proyek Overleaf berikut untuk melihat hasilnya:

```latex
\documentclass{article}
\title{contoh leftskip dan rightskip}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Atur nilai beberapa parameter yang terkait paragraf
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB, masing-masing berisi teks untuk sebuah paragraf.
% Tata sebuah paragraf dengan nilai default \leftskip dan \rightskip

\mytextB

% Atur \leftskip dan \rightskip ke nilai baru
\rightskip 10pt
\leftskip 0pt plus 1fill
\vspace{8pt}

% Sekarang tata ulang paragraf yang sama
\mytextB

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Mengatur glue \rightskip di LaTeX](/files/02bac76cc5e979f951ffdfa2e4bab050d71114e2)

Grafik berikut adalah versi beranotasi dari paragraf kedua yang dihasilkan oleh contoh di atas. Grafik ini dirancang untuk menyoroti dan menunjukkan jumlah `\leftskip` dan `\rightskip` glue yang disisipkan dalam baris-baris paragraf, bersama dengan `\parindent` ruang untuk baris pertama:

![Mengatur glue \rightskip di LaTeX](/files/a246679fdd163f197f7c27dbea3bd46accd38dbd)

Perhatikan bahwa `\rightskip` glue memiliki ukuran tetap (10pt) tetapi `\leftskip` glue telah meregang untuk menyediakan jumlah ruang kosong apa pun yang diperlukan untuk mengisi sisi kiri setiap baris. “Fleksibilitas” ini disebabkan oleh spesifikasi `\leftskip` yang memuat `plus 1 fill`—menyediakan bentuk glue yang “dapat direnggangkan tak hingga”.

#### Mengatur \leftskip dan \rightskip ke nilai fleksibel

Contoh berikut menghasilkan dua paragraf: yang pertama menggunakan nilai default LaTeX untuk `\leftskip` dan `\rightskip` dan yang kedua menggunakan pengaturan glue fleksibel berikut:

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

Pengaturan ini membuat baris-baris paragraf menjadi rata tengah:

```latex
\documentclass{article}
\title{contoh leftskip dan rightskip}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight==16cm,paperwidth==12cm,textwidth=8cm]{geometry}
% Atur nilai beberapa parameter yang terkait paragraf
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB yang mendefinisikan teks untuk dua paragraf
% Tata sebuah paragraf dengan nilai default \leftskip dan \rightskip

\mytextB

% Atur \leftskip dan \rightskip ke pengaturan glue "sangat fleksibel"
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\vspace{20pt}

% Sekarang tata ulang paragraf yang sama
\mytextB

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Contoh yang menunjukkan \leftskip dan \rightskip](/files/74855f0e535ac6813801d281f0196516cb169bab)

Grafik berikut adalah versi beranotasi dari paragraf kedua yang dihasilkan oleh contoh di atas. Grafik ini dirancang untuk menyoroti dan menunjukkan jumlah `\leftskip` dan `\rightskip` glue yang disisipkan dalam baris-baris paragraf, bersama dengan `\parindent` ruang untuk baris pertama:

![Contoh yang menunjukkan \leftskip dan \rightskip](/files/beacf2523ebc7bb5b474e608140903a4a6241f73)

Perhatikan bahwa keduanya `\leftskip` dan `\rightskip` ditentukan sebagai `0pt plus 1fill` membuat keduanya sama-sama “dapat direnggangkan tak hingga”; akibatnya, keduanya meregang dengan jumlah yang sama sehingga baris-baris yang ditata menjadi rata tengah.

#### Mengatur \leftskip dan \rightskip dalam sebuah grup

Contoh berikut menunjukkan cara membuat perubahan sementara pada `\leftskip` dan `\rightskip` dengan membungkusnya di dalam sebuah grup. Dalam contoh kami grup dibuat oleh `\begingroup`... `\endgroup`, seperti ditunjukkan dalam fragmen kode berikut:

```latex
\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup
```

Paragraf pertama ditata menggunakan glue “sangat fleksibel” untuk `\leftskip` dan `\rightskip`:

```latex
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
```

namun paragraf kedua menggunakan nilai default LaTeX:

```latex
\documentclass{article}
\title{Contoh lain leftskip dan rightskip}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Atur nilai beberapa parameter yang terkait paragraf
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB yang mendefinisikan teks untuk dua paragraf
% Di sini kami mengubah \leftskip dan \rightskip ke pengaturan glue "sangat fleksibel"
% di dalam grup yang dibuat oleh \begingroup ... \endgroup

\begingroup
\leftskip 0pt plus 1fill
\rightskip 0pt plus 1fill
\mytextB
\endgroup

% Sekarang tata ulang paragraf yang sama setelah grup ditutup
% sehingga \leftskip dan \rightskip kembali ke nilai sebelumnya

\vspace{20pt}
\mytextB

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Menggunakan \leftskip dan \rightskip dalam sebuah grup](/files/493155818815924be00b4a08d15a7add7e3d1fef)

**Catatan**: Pengaturan untuk (efek dari) `\leftskip` dan `\rightskip` dibatasi pada paragraf dalam grup yang dibuat oleh `\begingroup`... `\endgroup`. Setelah grup ditutup, paragraf berikutnya ditata menggunakan nilai default LaTeX untuk `\leftskip` dan `\rightskip`.

### \baselineskip (TeX primitive)

Secara umum dalam praktik penataan huruf, baris-baris teks dalam paragraf seharusnya memiliki jarak yang sama, kecuali jika baris tertentu mengandung elemen besar, seperti matematika atau gambar, yang membuat jarak antarbaris konstan tidak mungkin dipertahankan untuk baris tersebut.

TeX/LaTeX menyediakan perintah dan mekanisme yang memungkinkan pengguna mengendalikan jarak antarbaris sampai batas tertentu. Salah satu perintah tersebut adalah `\baselineskip` yang mengambil, atau menetapkan, nilai sebuah parameter yang menentukan jarak antarbaris yang diinginkan (jarak dari baseline ke baseline) dalam paragraf yang ditata.

Untuk menata nilai saat ini dari `\baselineskip` Anda dapat menulis

```latex
\the\baselineskip
```

Untuk mengatur `\baselineskip` ke suatu `nilai` (suatu panjang LaTeX seperti `pt`) Anda dapat menulis

```latex
\setlength{\baselineskip}{value}
```

Misalnya, untuk mengatur `\baselineskip` ke `12pt` Anda dapat menulis

```latex
\setlength{\baselineskip}{12pt}
```

Kita dapat mendemonstrasikan peran `\baselineskip` dengan menggunakan paragraf (umum) berikut:

![Sebuah paragraf LaTeX contoh](/files/0990ae200e4907ccf63b328a137075900f256042)

dan menambahkan anotasi yang menunjukkan jarak baseline-ke-baseline yang dikendalikan oleh `\baselineskip`:

![Contoh paragraf LaTeX yang dianotasi untuk menunjukkan jarak baseline](/files/846290f1879d612984f2e06826ea7c903ef0a864)

Diagram ini juga menunjukkan “glue” antarbaris: jumlah ruang kosong hasil perhitungan yang ditambahkan di antara baris—kita akan membahasnya lebih lanjut nanti dalam artikel.

#### \baselineskip dan parameter lainnya

`\baselineskip` merupakan salah satu dari empat parameter inti yang mengontrol jumlah ruang yang disisipkan di antara baris-baris paragraf; yang lainnya adalah:

* `\lineskip`
* `\lineskiplimit`
* `\prevdepth`

Nanti dalam artikel ini kita akan membahas [*bagaimana keempat parameter ini digunakan*](#paragraph-structure-and-line-space-calculations) untuk menghitung nilai glue antarbaris.

#### Contoh \baselineskip (ruang tetap)

Contoh berikut dibuka di Overleaf untuk membuat proyek yang berisi file bernama `text.tex` yang mendefinisikan perintah `\mytextA` dan `\mytextB`—kedua perintah tersebut menata sebuah paragraf. Demi kemudahan, proyek Overleaf menggunakan ukuran halaman kecil karena itu membantu dalam menyiapkan grafik dan gambar untuk halaman bantuan ini.

```latex
\documentclass{article}
\title{Mendemonstrasikan baselineskip}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Atur nilai beberapa parameter yang terkait paragraf (kita akan membahas ini)
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Atur nilai \baselineskip---ubah nilainya untuk melihat efeknya
\setlength{\baselineskip}{12pt}

\begin{document}
\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB, masing-masing menata sebuah paragraf

% Pertama, tata dua paragraf dengan \baselineskip default
\mytextA\mytextB

% Sekarang ubah \baselineskip ke nilai yang lebih besar dan tata
% paragraf lain
\setlength{\baselineskip}{24pt}
\mytextA

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Mengeksplorasi baselineskip di TeX atau LaTeX](/files/6674657a2b4781cae9f6133bae81fa6c728da553)

Paragraf pada halaman 2 memiliki baris-baris yang berjauhan karena `\baselineskip` diatur menjadi 24pt.

#### Contoh \baselineskip (ruang fleksibel)

Contoh berikut menetapkan sebuah `\baselineskip` nilai yang memiliki komponen regang yang sangat fleksibel (yang disebut “tak hingga”):

```latex
\baselineskip=12pt plus1fil
```

Karena fleksibilitas ini, ruang kosong di antara baris paragraf dapat meregang sebanyak apa pun yang diperlukan untuk memenuhi halaman. Fleksibilitas seperti itu akan menyebabkan paragraf memiliki jumlah ruang yang sangat berbeda di antara baris-baris teks penyusunnya, yang mungkin tidak sedap dipandang atau mudah dibaca.

```latex
\documentclass{article}
\usepackage{blindtext}
\title{Demo \texttt{\string\baselineskip} fleksibel}
\author{Overleaf}
\date{Januari 2022}

\begin{document}

\maketitle
Kita akan memberi \verb|\baselineskip| komponen ``stretch'' yang sangat fleksibel dengan menetapkan nilai \texttt{12pt plus1fil}: \verb|\baselineskip=12pt plus1fil|.\baselineskip=12pt plus1fil
\section{Pendahuluan}
Tambahkan paragraf yang sekarang akan meregang untuk memenuhi halaman. \blindtext

\end{document}
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Flexible+baselineskip+demo\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bblindtext%7D%0A%5Ctitle%7BFlexible+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+demo%7D%0A%5Cauthor%7BOverleaf%7D%0A%5Cdate%7BJanuary+2022%7D%0A%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cmaketitle%0AWe%E2%80%99ll+provide+%5Cverb%7C%5Cbaselineskip%7C+with+a+very+flexible+%60%60stretch%27%27+component+by+assigning+the+value+%5Ctexttt%7B12pt+plus1fil%7D%3A+%5Cverb%7C%5Cbaselineskip%3D12pt+plus1fil%7C.%5Cbaselineskip%3D12pt+plus1fil+%0A%5Csection%7BIntroduction%7D%0AAdd+a+paragraph+that+will+now+stretch+to+fill+the+page.+%5Cblindtext%0A%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Mendemonstrasikan glue baselineskip dengan fleksibilitas tak hingga](/files/df07935300db5b03d95a1eaa6afc2335f051c9da)

**Beberapa catatan tentang glue**

Beberapa catatan berikut diambil dari artikel Overleaf [menjelajahi kotak underfull atau overfull dan perhitungan badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv), disalin di sini untuk kenyamanan.

Ruang putih yang disisipkan TeX di antara baris-baris sebuah paragraf, `\baselineskip`, adalah bentuk spasi fleksibel yang disebut *glue*. Nilai glue dapat ditentukan dengan tiga komponen:

* a *tetap* jumlah;
* sejumlah yang dapat *meregang*;
* sejumlah yang dapat *menyusut*,

Akibatnya, sebuah `\baselineskip` nilai dapat ditentukan seperti ini:

`\baselineskip`=*jumlah tetap* **plus** *jumlah yang dapat direnggangkan* **minus** *jumlah yang dapat dipersempit*

di mana

* **plus** dan **minus** adalah kata kunci yang dipahami mesin TeX;
* *jumlah tetap* disebut sebagai *komponen normal* dari glue (juga disebut *lebar alami* dari glue);
* *jumlah yang dapat direnggangkan* disebut sebagai *komponen peregangan* dari glue;
* *jumlah yang dapat dipersempit* disebut sebagai *komponen penyusutan* dari glue.

Fitur *jumlah tetap* diperlukan untuk semua nilai glue, tetapi *jumlah yang dapat direnggangkan* dan *jumlah yang dapat dipersempit* keduanya opsional—jika salah satu, atau keduanya, hilang, nilainya disetel ke 0.

Biasanya, `\baselineskip` glue ditentukan dengan *jumlah tetap* saja, komponen stretch dan shrink bernilai nol, jika tidak, baris-baris paragraf akan memiliki spasi tidak teratur (variabel), yang mungkin tidak enak dipandang.

### \offinterlineskip dan \nointerlineskip (makro)

Makro ini sering digunakan untuk mencegah penyisipan glue antarbaris di antara baris-baris sebuah paragraf. Pembaca yang tertarik pada detail lebih lanjut dapat melompat ke bagian artikel terkait yang menjelaskan cara kerja makro ini.

* **`\offinterlineskip`**: Lihat bagian artikel [*Glue antarbaris berukuran nol: \offinterlineskip*](#zero-sized-interline-glue-offinterlineskip).
* **`\nointerlineskip`**: Lihat bagian artikel [*Mencegah glue antarbaris: \prevdepth dan \nointerlineskip*](#preventing-interline-glue-prevdepth-and-nointerlineskip).

## Struktur paragraf dan perhitungan spasi baris

Dengan memanfaatkan kemampuan LuaTeX, dimungkinkan untuk [memroses pascacetak sebuah paragraf yang telah ditata](https://www.overleaf.com/latex/examples/luatex-parsing-typeset-paragraphs/mzbpwxtjshsj) untuk memvisualisasikan batas-batas karakter pembentuk (glyph), baris, dan glue yang menyusunnya. Kita akan memulai dengan urutan grafik singkat untuk membantu memvisualisasikan model “kotak dan glue” yang digunakan mesin TeX untuk menata teks yang terkandung dalam sebuah paragraf.

### Struktur paragraf

Saat TeX menata sebuah paragraf, ia memperlakukan karakter-karakter individual sebagai kotak-kotak mini, masing-masing dengan lebar, tinggi, dan kedalaman sendiri, dan lebar kotak karakter itu digunakan untuk menghitung lokasi optimum bagi pemutusan baris. Selain itu, karakter spasi yang terdapat di dalam teks, dan digunakan untuk memisahkan kata-kata individual, diubah menjadi bentuk spasi fleksibel (glue) yang menyediakan jarak yang diperlukan untuk mencapai setiap pemutusan baris.

Urutan 7 grafik berikut menunjukkan komponen inti dari sebuah paragraf yang telah ditata: berbagai jenis kotak dan glue. Grafik pertama menunjukkan sebuah paragraf yang telah ditata bersama versi beranotasi yang menyoroti berbagai elemen di dalam paragraf. Namun, paragraf beranotasi itu memuat banyak informasi sehingga grafik-grafik berikutnya mengisolasi berbagai komponen agar (semoga) lebih mudah dipahami.

![Paragraphanatomy1b.png](/files/8f6fcadd6af94b8f28b4949bfb7a3817741e81ec)

* Grafik berikutnya menggambarkan baris-baris paragraf sebagai kotak abu-abu yang dipisahkan oleh glue yang direpresentasikan oleh strip hijau horizontal. Glue itu dihitung untuk memastikan jarak baseline ke baseline sama dengan (yaitu, nilai dari) `\baselineskip`:

![Paragraphanatomy2b.png](/files/95c5d8e5a0c565865712f3dc9c88b096d7181bbe)

* Gambar berikut merepresentasikan karakter-karakter yang telah ditata sebagai kotak-kotak: untuk memvisualisasikan bagaimana mesin TeX memproses karakter demi menghasilkan pemutusan baris:

![Paragraphanatomy3.png](/files/4f18c6bc4f17480173ff9a769cfa3a3e31002a00)

* Gambar berikut menunjukkan kotak di dalam kotak: baris-baris paragraf yang lebih besar (kotak) berisi kotak-kotak yang lebih kecil (karakter individual):

![Paragraphanatomy5.png](/files/ce126b572884c07f99a3511eb1efea7ba52ecc15)

* Gambar berikut menunjukkan jumlah ruang di antara kata-kata di setiap baris: spasi antar-kata ini dihasilkan dengan mengubah karakter spasi menjadi glue fleksibel yang diregangkan atau disusutkan untuk menghasilkan panjang yang tepat bagi setiap baris teks. Perhatikan dengan cermat bahwa ukuran spasi ini bervariasi dari satu baris ke baris lain:

![Paragraphanatomy4.png](/files/01b6ffb0865121523ea9ba801da660deeb1e13aa)

* Gambar berikut menggabungkan kotak-kotak karakter dan glue (spasi) yang sesuai yang ditempatkan di antara kata-kata individual:

![Paragraphanatomy6.png](/files/d43aa931b3da0adabaac88b391cd1ac44034c484)

### Memvisualisasikan jenis glue paragraf lainnya

Paragraf berikut juga ditata dan diproses menggunakan LuaTeX untuk menunjukkan jenis glue lain di dalam, dan di antara, sepasang paragraf. Perhatikan bahwa `\rightskip` dan `\leftskip` keduanya disetel ke 0pt, jadi tidak ditampilkan:

* **`\parskip`** glue (biru muda) yang ditempatkan di antara dua paragraf yang ditata;
* kata-kata individual dipisahkan oleh ***glue antar-kata*** (kuning) yang dibuat dengan mengubah karakter spasi dalam input menjadi ruang putih berukuran variabel (glue) dalam output yang ditata. Glue yang muncul dari spasi antar-kata diregangkan atau disusutkan untuk mencapai pemutusan baris yang sedap dipandang;
* **`\baselineskip`** glue (hijau muda) yang ditempatkan di antara baris-baris—jumlah tepat dari `\baselineskip` glue dihitung menggunakan mekanisme yang dibahas di bawah;
* **`\lineskip`** glue (merah) yang digunakan dalam paragraf kedua—karena kotak rendah yang terdapat pada baris kedua dari terakhir;
* **`\parfillskip`** glue (hijau tua) yang ditempatkan di akhir baris terakhir di setiap paragraf.

![](/files/d1bb0c0101082632e8d54dc47c8623871b63ea0f)

### Menangani baris (kotak) yang lebih dalam (atau lebih tinggi)

Seperti ditunjukkan oleh grafik pada [bagian sebelumnya](#paragraph-structure), sebuah paragraf yang telah ditata adalah tumpukan vertikal “kotak-kotak”, dipisahkan oleh sejumlah ruang putih, yang oleh TeX disebut “glue”. Saat paragraf diproses, dan baris-baris individual (kotak-kotak) ditumpuk, daftar (tumpukan) vertikal bertumbuh ke dalam *ke bawah* arah, menuju bagian bawah halaman. Walaupun TeX/LaTeX berupaya memastikan baris-baris paragraf ditumpuk dengan baseline yang dipisahkan oleh jarak tetap sebesar `\baselineskip`, hal itu tidak selalu dapat dicapai karena baris tertentu dapat memiliki tinggi atau kedalaman yang lebih besar dari biasanya.

Tinggi dan kedalaman setiap baris paragraf ditentukan oleh jarak maksimum sejauh mana isi baris itu menjulur di atas atau di bawah baseline; akibatnya, paragraf yang memuat materi dengan tinggi atau kedalaman yang relatif besar, seperti matematika inline atau grafik, kemungkinan akan menghasilkan baris-baris individual dengan tinggi dan/atau kedalaman yang sesuai besar. Untuk baris seperti itu, TeX/LaTeX mungkin tidak dapat menumpuknya sehingga baseline-nya terpisah dari baris lain sejauh `\baselineskip` jumlahnya. Jelas, TeX/LaTeX memerlukan “mekanisme cadangan” untuk menangani baris seperti itu dengan *menghitung* sejumlah ruang yang sesuai untuk disisipkan di antara setiap pasangan baris yang terdampak oleh tinggi dan/atau kedalaman yang besar.

#### \lineskip dan \lineskiplimit (primitif TeX)

Mekanisme cadangan itu melibatkan perintah parameter `\lineskip` dan `\lineskiplimit` bersama dengan parameter ketiga yang disebut `\prevdepth`. Pembaca yang tertarik pada detail lebih lanjut dapat melompat ke bagian artikel [*Cara ruang (glue) di antara baris paragraf dihitung*](#how-the-space-glue-between-paragraph-lines-is-calculated).

Proyek contoh di bawah ini menata sebuah paragraf tunggal yang baris terakhirnya memiliki kedalaman yang relatif besar akibat sebuah kotak teks yang digeser (`\hbox`). Paragraf itu ditata menggunakan pengaturan ini:

```latex
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
```

Gunakan tautan di bawah kode berikut untuk membuka proyek Overleaf:

```latex
\documentclass{article}
% Gunakan ukuran halaman yang nyaman kecil
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
% Menetapkan beberapa parameter penting
\setlength{\baselineskip}{12pt}
\setlength{\lineskip}{3.5pt}
\setlength{\lineskiplimit}{2pt}
\setlength{\parindent}{20pt}
% Berkas input yang mendefinisikan \testpar
\input testpar.tex
\title{Contoh paragraf untuk lineskip}
\begin{document}
\testpar % Sebuah makro yang dibuat dalam proyek Overleaf
\end{document}
```

&#x20;[Buka contoh ini di Overleaf.](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%25+Use+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D8cm%5D%7Bgeometry%7D%0A%25+Set+some+important+parameters%0A%5Csetlength%7B%5Cbaselineskip%7D%7B12pt%7D%0A%5Csetlength%7B%5Clineskip%7D%7B3.5pt%7D%0A%5Csetlength%7B%5Clineskiplimit%7D%7B2pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B20pt%7D%0A%25+Input+file+defining+%5Ctestpar+%0A%5Cinput+testpar.tex%0A%5Ctitle%7BA+sample+paragraph+for+lineskip%7D%0A%5Cbegin%7Bdocument%7D%0A%5Ctestpar+%25+A+macro+created+in+the+Overleaf+project%0A%5Cend%7Bdocument%7D\&snip_name\[]=testpar.tex\&snip\[]=%5Cnewcommand%7B%5Ctestpar%7D%7B%5CTeX%7B%7D+uses+the+name+%60%60glue%27%27+to+describe+%60%60flexible+white+space%27%27+used+to+separate+any+typeset+item+which+can+appear+on+the+page.+For+example%2C+individual+words%2C+and+whole+lines%2C+within+a+typeset+paragraph+are+seperated+by+%60%60glue%27%27.+%5CTeX%7B%7D+engines+identify+%28give+a+name+to%29+different+types+of+glue+according+to+where+it+is+being+used.+For+example%2C+each+line+is+separated+by+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue+or%2C+occasionally%2C+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue%2C+depending+on+%5CTeX%27s+calculations.+Let%27s+trigger+use+of+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+by+adding+an+%5Ctexttt%7B%5Cstring%5Chbox%7D+which+has+a+large+depth+due+to+the+%5Ctexttt%7B%5Cstring%5Clower%7D+command%3B+for+example%2C+the+box%0A+%5Clower5pt%5Chbox%7BLOW+BOX%7D+will+cause+%5CTeX%7B%7D+to+insert+%5Ctexttt%7B%5Cstring%5Clineskip%7D+glue+instead+of+%5Ctexttt%7B%5Cstring%5Cbaselineskip%7D+glue.%5Cpar%7D\&main_document=main.tex)

Contoh ini menghasilkan keluaran berikut:

![Contoh untuk mendemonstrasikan glue \lineskip](/files/92ca0c5eaa86b54f25537c5472592152c9641b17)

Grafik berikut menggunakan versi beranotasi dari paragraf yang dihasilkan oleh proyek Overleaf sebelumnya. Di sini, kita memperbesar untuk fokus pada baris paragraf terakhir, yang menunjukkan penggunaan `\lineskip` glue (ditunjukkan dengan warna merah) yang disebabkan oleh kedalaman kotak teks yang digeser:

![Gambar yang menunjukkan glue \lineskip TeX](/files/6cb5c7c129c2070026e83b41768e90a2e855b67a)

Baris terakhir dari teks paragraf memiliki kedalaman yang lebih besar dari biasanya, sehingga mencegah TeX mempertahankan jarak baseline ke baseline yang konstan yang ditentukan oleh nilai `\baselineskip` (12pt). Seperti ditunjukkan oleh panah di sisi kanan grafik, TeX/LaTeX berupaya memastikan jarak tetap (12pt) di antara pasangan baris—nilai dari `\baselineskip`. Namun, untuk pasangan baris terakhir TeX telah memisahkan mereka dengan jumlah yang lebih besar dari 12pt dan menggunakan nilai `\lineskip` untuk glue antarbaris alih-alih nilai yang dihitung menggunakan `\baselineskip`.

Bagian-bagian berikut menelusuri dan menjelaskan detail perhitungan nilai glue antarbaris oleh TeX.

### Cara ruang (glue) di antara baris paragraf dihitung

Untuk keperluan saat ini, kita akan *sangat singkat* menyebut proses konstruksi halaman TeX, walaupun dengan cara yang sangat disederhanakan! Begitu TeX selesai menata sebuah paragraf, dengan menyelesaikan pemenggalan kata dan menentukan pemutusan baris, Anda dapat menganggap data paragraf itu tersimpan di lokasi memori sementara. TeX kemudian perlu memindahkan data paragraf itu, baris demi baris, ke lokasi memori baru yang menyimpan materi yang ditujukan untuk halaman keluaran saat ini.

Saat TeX memindahkan data paragraf, baris demi baris, pada dasarnya ia sedang membangun tumpukan vertikal baris-baris (kotak TeX) yang bertumbuh *ke bawah* menuju bagian bawah halaman. Saat memindahkan baris-baris paragraf ke halaman saat ini, TeX berupaya memastikan baris-baris itu akan diberi jarak yang sama, memiliki spasi vertikal (baseline-ke-baseline) yang konsisten sama dengan nilai `\baselineskip`. Saat baris baru dipindahkan ke halaman saat ini, mesin TeX sementara merekam *kedalaman* baris tersebut karena akan digunakan untuk menghitung jumlah glue antarbaris (ruang putih) di antara baris itu dan baris yang ditempatkan setelahnya.

#### Perhitungan ukuran glue

Mari kita mulai dengan merangkum fitur-fitur spasi antarbaris yang disediakan oleh mesin TeX:

* menjaga jarak tetap antarbaseline, yaitu jarak yang sama dengan `\baselineskip`;
* menyediakan spasi untuk baris apa pun yang memiliki tinggi atau kedalaman yang relatif besar;
* kemampuan untuk mematikan penyisipan glue antarbaris—baik secara otomatis maupun atas kendali pengguna. Misalnya:
  * Mesin TeX secara otomatis menonaktifkan penyisipan glue antarbaris setelah sebuah rule dalam mode vertikal;
  * makro `\offinterlineskip` dan `\nointerlineskip` memungkinkan pengguna untuk sementara mematikan penyisipan glue antarbaris—makro tersebut memiliki efek yang berbeda, seperti akan kita lihat di bawah.

Keputusan apakah glue antarbaris akan ditambahkan dan, jika ya, berapa banyak jenisnya, berjalan seperti ini:

* Apakah glue antarbaris perlu ditambahkan? TeX memutuskan ini dengan menguji apakah *kedalaman baris terakhir yang ditambahkan* ke daftar kurang dari nilai khusus `–1000pt` (poin). Perhatikan bahwa `–1000pt` adalah nilai “penanda” arbitrer yang digunakan secara internal oleh mesin TeX.
  * **Catatan**: Nilai “kedalaman baris terakhir yang ditambahkan”, yang dicatat TeX secara internal, juga dikenal sebagai “kedalaman sebelumnya”. Mesin TeX menyediakan perintah parameter `\prevdepth`—yang dalam keadaan tertentu dapat digunakan untuk *mendapatkan* atau *set* nilai “kedalaman sebelumnya”. Makro `\nointerlineskip` memanfaatkan `\prevdepth`.
* TeX menguji apakah `kedalaman baris sebelumnya lebih besar dari –1000pt`?
  * ***Ya*** (perlu menambahkan glue):
    * hitung nilai Δ, dengan Δ = \baselineskip – (kedalaman baris sebelumnya) – (tinggi baris berikutnya)
    * bandingkan Δ dengan nilai `\lineskiplimit`, sebuah parameter yang digunakan untuk mendefinisikan jarak minimum yang dapat diterima antara dua baris, diukur sebagai jarak antara bagian bawah baris atas dan bagian atas baris bawah.
    * Jika Δ < `\lineskiplimit`:
      * baris-baris terlalu berdekatan sehingga sisipkan spasi minimum yang dapat diterima yaitu `\lineskip`
    * Jika Δ >= `\lineskiplimit`:
      * baris-baris tidak terlalu berdekatan sehingga gunakan Δ sebagai jumlah glue yang akan disisipkan
  * ***Tidak*** (jangan tambahkan glue):
    * Tambahkan baris berikutnya (kotak) tanpa menyisipkan glue apa pun

Grafik berikut merangkum proses glue antarbaris:

![Cara TeX menentukan nilai glue antarbaris](/files/8014c2c7dfe00e9d1c042062299d39838a68da8d)

### Contoh perhitungan glue antarbaris

Dalam contoh berikut kita mengasumsikan bahwa TeX/LaTeX menggunakan nilai parameter perintah berikut:

```latex
\baselineskip=12pt
\lineskip=3.5pt
\lineskiplimit=2pt
```

Kita akan melihat perhitungan glue antarbaris untuk dua baris pertama dari paragraf ini:

![OLV2glue-calcs-step0.png](/files/1afa797bdd4a68ca4755533787b826d1dadbb235)

Pada gambar berikutnya, mesin TeX telah memproses baris paragraf pertama dan memindahkannya ke daftar vertikal yang sedang ia bangun. Ia melacak kedalaman baris itu (`d<sub>1</sub>`) yang bernilai `2.1528` (poin):

![OLV2glue-calcs-step1.png](/files/e1aebf8f23ba588bcdcb20d4d1dbe7012aa66df6)

Selanjutnya, TeX siap menambahkan baris kedua ke daftar yang sedang ia bangun: baris itu memiliki tinggi (`h<sub>2</sub>`) yang bernilai `6.9444` (poin) dan, kebetulan, sebuah kedalaman, `d<sub>2</sub>` sebesar `0` (poin):

![OLV2glue-calcs-step2.png](/files/68bd17ef056baf560c79354972be4cc579da703e)

Pada titik ini, TeX perlu menghitung jumlah ruang (glue, `g<sub>1</sub>`) yang akan disisipkan di antara kedua baris ini:

![OLV2glue-calcs-step3.png](/files/94a83bea8a81b42af8e10d92561fb4eb2cec194e)

Gambar berikut menunjukkan perhitungan glue untuk pasangan baris ini:

![OLV2glue-calcs-stepA3.png](/files/2df868d9f214b653fba68673dc5cc9398b634f0f)

Gambar akhir menunjukkan kedua baris dipindahkan ke halaman saat ini dengan jumlah glue antarbaris yang dihitung ditempatkan di antaranya:

![OLV2glue-calcs-step5.png](/files/d7b7b20a53d085226808bd003076b08e9b1be329)

### Satu parameter lagi: \prevdepth

Seperti disebutkan di atas, saat TeX membuat tumpukan (daftar) vertikal kotak-kotak, ia menyimpan kedalaman kotak terakhir yang ditambahkan ke daftar itu. Nilai kedalaman yang tersimpan itu dikenal sebagai “kedalaman sebelumnya” yang dapat diakses melalui perintah parameter `\prevdepth`.

Fitur `\prevdepth` perintah dapat digunakan ***saja*** ketika TeX berada dalam mode vertikal; yaitu, di antara paragraf atau di dalam kotak vertikal: `\vbox`, `\vtop` atau `\vcenter` (catatan: `\vcenter` kotak hanya dapat digunakan dalam mode matematika).

`\prevdepth` memberikan akses baca dan tulis ke nilai “kedalaman sebelumnya”:

* untuk membaca nilai saat ini dari `\prevdepth` Anda dapat menulis:

```latex
\the\prevdepth
```

* untuk menyetel nilai saat ini dari `\prevdepth` ke `nilai tertentu`, sebuah panjang dalam poin, mm, dll., Anda dapat menulis:

```latex
\setlength{\prevdepth}{some value}
```

Jika Anda mencoba menggunakan \verb`\prevdepth` dalam keadaan yang tidak dirancang untuknya, seperti di dalam sebuah paragraf atau di dalam sebuah `\hbox` Anda akan mendapatkan galat

```latex
Improper \prevdepth.
```

dengan informasi tambahan yang memberi tahu Anda bahwa itu hanya dapat digunakan dalam mode vertikal.

#### Mencegah glue antarbaris: \prevdepth dan \nointerlineskip

Salah satu penggunaan `\prevdepth` adalah untuk *mencegah* TeX melakukan perhitungan baseline yang digunakan untuk menambahkan glue antarbaris di antara item dalam daftar vertikal, seperti baris-baris sebuah paragraf. Dengan menggunakan `\prevdepth` untuk merepresentasikan `kedalaman baris sebelumnya` kita dapat menyatakan ulang perhitungan glue (digambarkan di atas) sebagai berikut:

```latex
if(\prevdepth > –1000pt)
{
     Δ = \baselineskip — \prevdepth — (tinggi baris saat ini)

     if(Δ < \lineskiplimit)
       interline glue = \lineskip
     else
       interline glue = Δ
}
else
{
     Tumpuk kotak tanpa menambahkan
     glue antarbaris apa pun
}
```

Secara internal, mesin TeX mengenali nilai yang disebut “penanda” sebesar `\prevdepth` yang dapat digunakan untuk menonaktifkan perhitungan dan penambahan glue antarbaris. Nilai penanda itu adalah `–1000pt`, yang dapat dilihat pada baris pertama pseudocode di atas:

```latex
if(\prevdepth > –1000pt)
```

TeX tidak akan menambahkan glue antarbaris kecuali `\prevdepth` lebih besar dari `–1000pt`— yang menyediakan mekanisme yang digunakan oleh `\nointerlineskip` makro untuk mencegah glue baseline ditambahkan di antara pasangan kotak berikutnya dalam daftar vertikal.

`\nointerlineskip` memiliki definisi yang setara dengan:

```latex
\def\nointerlineskip{
\prevdepth–1000pt
}
```

Perhatikan bahwa `\nointerlineskip` memberikan *penonaktifan satu kali* dari perhitungan glue antarbaris karena nilai `\prevdepth` terus diperbarui saat kotak-kotak baru ditambahkan ke daftar vertikal saat ini, seperti ditunjukkan dalam contoh berikut:

```latex
\noindent Kotak-kotak \verb|\hbox| berikut diproses ketika \TeX{} berada dalam apa yang disebut \textit{outer vertical mode}. Setelah diproses (ditata), kotak-kotak ini ditambahkan ke halaman saat ini dan ditumpuk secara vertikal dengan glue antarbaris disisipkan di antaranya:

\hbox{j}
\hbox{p}
\hbox{g}

Sekarang, tepat setelah kotak \verb|\hbox{j}|, kita menyetel \verb|\prevdepth| ke \texttt{-1000pt} yang mencegah glue antarbaris ditempatkan di antara kotak \verb|\hbox{j}| dan \verb|\hbox{p}|:

\hbox{j}\setlength{\prevdepth}{-1000pt}
\hbox{p}
\hbox{g}

Perhatikan bahwa glue antarbaris \textit{memang} ditempatkan di antara kotak \verb|\hbox{p}| dan \verb|\hbox{g}| karena nilai \verb|\prevdepth| diperbarui setelah \verb|\hbox{p}| diproses dan ditambahkan ke daftar: nilai \verb|\prevdepth| menjadi kedalaman kotak \verb|\hbox{p}|. Saat \verb|\hbox{g}| ditambahkan ke daftar vertikal, nilai \verb|\prevdepth| tidak lagi \texttt{-1000pt}; akibatnya, glue antarbaris kini dapat ditambahkan.
```

&#x20;[Buka contoh ini di Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One-shot+use+of+nointerlineskip\&snip=%5Cdocumentclass%7Barticle%7D%0A%25+Choose+a+conveniently+small+page+size%0A%5Cusepackage%5Bpaperheight%3D16cm%2Cpaperwidth%3D12cm%2Ctextwidth%3D10cm%5D%7Bgeometry%7D%0A%5Cbegin%7Bdocument%7D%0A%5Csetlength%7B%5Cbaselineskip%7D%7B14pt%7D%0A%5Csetlength%7B%5Cparskip%7D%7B1pt%7D%0A%5Csetlength%7B%5Cparindent%7D%7B0pt%7D%0A%25+A+convenience+macro+to+typeset+%5Cprevdepth+in+an+%5Chbox%2C+although+TeX+has+to+be%0A%25+in+a+vertical+mode+when+this+macro+is+used.%0A%5Cnoindent+The+following+%5Cverb%7C%5Chbox%7Ces+are+processed+when+%5CTeX%7B%7D+is+in+so-called+%5Ctextit%7Bouter+vertical+mode%7D.+After+processing+%28typesetting%29%2C+these+boxes+are+appended+to+the+current+page+and+stacked+vertically+with+interline+glue+inserted+between+them%3A%0A%0A%5Chbox%7Bj%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0ANow%2C+immediately+after+after+the+box+%5Cverb%7C%5Chbox%7Bj%7D%7C%2C+we+set+%5Cverb%7C%5Cprevdepth%7C+to+%5Ctexttt%7B-1000pt%7D+which+prevents+interline+glue+being+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bj%7D%7C+and+%5Cverb%7C%5Chbox%7Bp%7D%7C%3A+%0A%0A%5Chbox%7Bj%7D%5Csetlength%7B%5Cprevdepth%7D%7B-1000pt%7D%0A%5Chbox%7Bp%7D%0A%5Chbox%7Bg%7D%0A%0AObserve+that+interline+glue+%5Ctextit%7Bis%7D+placed+between+the+boxes+%5Cverb%7C%5Chbox%7Bp%7D%7C+and+%5Cverb%7C%5Chbox%7Bg%7D%7C+because+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+updated+after+%5Cverb%7C%5Chbox%7Bp%7D%7C+is+processed+and+added+to+the+list%3A+the+value+of+%5Cverb%7C%5Cprevdepth%7C+becomes+the+depth+of+the+box+%5Cverb%7C%5Chbox%7Bp%7D%7C.+When+%5Cverb%7C%5Chbox%7Bg%7D%7C+is+added+to+the+vertical+list+the+value+of+%5Cverb%7C%5Cprevdepth%7C+is+no+longer+%5Ctexttt%7B-1000pt%7D%3B+consequently%2C+interline+glue+can+now+be+added.%0A%5Cend%7Bdocument%7D)

Contoh ini menghasilkan keluaran berikut:

![Contoh yang mendemonstrasikan parameter \prevdepth TeX](/files/b786aad61a7a1284314b4c2d7710d95e39accd2e)

#### Glue antarbaris berukuran nol: \offinterlineskip

Dimungkinkan untuk menghapus semua spasi antarbaris melalui perintah makro `\nointerlineskip`, yang memiliki definisi setara dengan:

```latex
\def\offinterlineskip{%
\baselineskip=-1000pt
\lineskip=0pt
\lineskiplimit=\maxdimen
}
```

Perhatikan bahwa `\maxdimen` adalah `16383.99998pt`, panjang terbesar yang dapat digunakan TeX.

Grafik berikut menunjukkan perhitungan inti glue antarbaris dan berbagai nilai parameter yang digunakan oleh makro `\nointerlineskip`:

![offinterlineskip](/files/5874ac9f3155230da22088d57eebb1548fa8f3aa)

Grafik berikut menunjukkan fragmen pseudocode yang dihasilkan dari menggantikan nilai makro ke dalam perhitungan glue. Ini menunjukkan bagaimana makro bekerja dengan menetapkan nilai untuk `\nointerlineskip` nilai makro ke dalam perhitungan glue. Ini menunjukkan bagaimana `\nointerlineskip` makro bekerja dengan menetapkan nilai untuk `\baselineskip` dan `\lineskiplimit` sedemikian sehingga glue antarbaris akan selalu menjadi `\lineskip` glue sebesar `0pt`.

![offinterlineskip](/files/9220ab16f3eeba863ef5572d03ba618a238a32b4)

#### \offinterlineskip dan \lineskip non-nol

Fitur `\nointerlineskip` makro menyetel `\lineskip` ke nol tetapi, seperti ditunjukkan oleh proyek Overleaf berikut, Anda dapat menggabungkan `\nointerlineskip` dengan nilai non-nol dari `\lineskip` untuk mencapai efek spasi baris.

```latex
\documentclass{article}
\title{Mendemonstrasikan lineskip non-nol}
% Pilih ukuran halaman yang kecil secara nyaman
\usepackage[paperheight=16cm,paperwidth=12cm,textwidth=8cm]{geometry}
\begin{document}

\offinterlineskip % Ini menyetel \lineskip menjadi 0pt

\setlength{\lineskip}{5pt} % Kita ingin \lineskip non-nol

\input text.tex % Berkas TeX yang dihasilkan yang mendefinisikan makro
% \mytextA dan \mytextB, masing-masing menata sebuah paragraf

\mytextA % Menata sebuah paragraf

% Sekarang ubah \lineskip menjadi nilai glue fleksibel dan tata
% paragraf lain

\setlength{\lineskip}{5pt plus5pt minus5pt}

\mytextA

\end{document}
```

&#x20;Buka contoh ini sebagai proyek LaTeX Overleaf

Contoh ini menghasilkan keluaran berikut:

![Mendemonstrasikan makro \offinterlineskip LaTeX](/files/0078e630e1e9a390b2582cf4012c996a00ac7c30)

Anda dapat melokalkan efek penggunaan `\offinterlineskip` dan `\lineskip` (dan perintah spasi lainnya) dengan membungkusnya dalam sebuah grup:

```latex
\begingroup
\offinterlineskip
\setlength{\lineskip}{5pt}
...paragraf Anda di sini

\endgroup
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/id/pemformatan/04-articles-how-to-change-paragraph-spacing-in-latex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
