Komuta mı yoksa çevre mi?

Makrolar argümanlar alır; ortamlar bölgeleri sarar.

Komuta mı yoksa çevre mi?

LaTeX’te düz metnin ötesinde yazdığınız her şey iki şekilden birini alır: komut veya ortam. İlk hata mesajınıza ulaşana kadar bu ayrım kulağa akademik geliyor. LaTeX’in şikayetlerinin yarısı birinin ait olduğu yerde diğerinin kullanılmasıyla ilgili. Hangi şekle baktığınızı görmeyi öğrenmek, hem belgeleri hem de hataları okunabilir hale getirir.

Komutlar

\newcommand{\foo}{bar}
\foo
\textbf{argument}

Komut, ters eğik çizgi ve ardından gelen bir addır ve göründüğü noktada bir değişiklik gerçekleştirir. \textbf{argument} bir argümanı parantez içinde alır ve onu kalın harflerle yazar; etki diş telleriyle başlar ve biter. Komutlar birkaç ayraç bağımsız değişkeni alabilir ve çoğu, \documentclass[11pt]{article} örneğinde olduğu gibi, kendilerinden önce köşeli parantez içinde isteğe bağlı bir bağımsız değişkeni de kabul eder.

İlk iki satır, komutların oluşturabileceğiniz bir şey olduğunu gösterir. \newcommand{\foo}{bar}, uzantısı bar metni olan \foo adında yeni bir komut tanımlar ve bundan sonra herhangi bir yere \foo yazıldığında bar oluşturulur. Özel makroların arkasındaki mekanizma budur ve paketler de bu şekilde çalışır: Bir paket büyük ölçüde komut tanımlarından oluşan bir dosyadır.

Erkenden bilmeye değer bir tuhaflık: \LaTeX gibi bir komut, kendisinden sonraki boşluğu yutar, dolayısıyla \LaTeX eğlencelidir sözcükleri birlikte çalıştırarak yazdırır. Alanı korumak için \LaTeX{} eğlencelidir' veya \LaTeX\ is` yazın.

Ortamlar

\begin{center}
Centered block
\end{center}

Ortam, belgenin bir bölgesini eşleşen bir “\begin{…}” ve “\end{…}” çifti arasına sarar ve davranışını içindeki her şeye uygular. Burada ‘merkez’ ortam bloğun her satırını ortalar. Ortamlar, açıldıkları sıranın tersi yönde kapanmaları koşuluyla iç içe yerleştirilebilir ve bağımsız değişkenler de alabilirler: \begin{tabular}{ll} bir tabloyu açar ve ona bir sütun belirtimi iletir.

Ortamların dengede olması gerektiğinden, belirgin bir şekilde başarısızlığa uğrarlar. \begin{itemize} \end{document} ile sona erdi gibi bir hata, ortamın açıldığı ve hiç kapatılmadığı anlamına gelir. Eksik \endi bulun; hata adlarının bulunduğu satıra bakmayın.

Temel kural

Eğer bir bölgeyi başlangıcı ve bitişi net bir şekilde sarıyorsa muhtemelen bir ortamdır. Eğer küçük bir oyuncu değişikliği ya da geçiş ise bu bir komuttur. Hatta iki şekil örtüşüyor: her ‘foo’ ortamı, başlık altında bir ‘\foo’ ve ‘\endfoo’ komut çifti olarak uygulanır. En çok karşılaşacağınız komutlar ve ortamlar hakkında bir tur için her komutun açıklamasına bakın veya canlı oyun alanında her iki şekli de deneyin.

Commands vs environmentsOptional practice quiz5 questions

A short check on what this lesson covers. Wrong answers show the right one. Choices are shuffled each attempt. You can retry as often as you like.

Masa referansı'a geri dön