> 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/tr/daha-fazla-konu/39-mltex-enctex-and-synctex-tex-extensions.md).

# MLTeX EncTeX ve SyncTeX TeX uzantıları

## TeX uzantıları hakkında bazı arka plan ayrıntıları

TeX'in uzun bir geliştirme geçmişi vardır—şimdi 4 on yılı aştı! O süre boyunca e-TeX, pdfTeX, XeTeX, LuaTeX vb. gibi TeX'in yeni “sürümleri” geliştirildi. Tamamen yeni motorlara ek olarak, bir bütün olarak ek özellikler paketiyle, çeşitli *uzantılar* bunlar tipik olarak Knuth’un özgün yazılımını geliştirmek için belirli bir özelliği uygulamaya odaklanır.

XeTeX ve LuaTeX gibi modern TeX motorlarının ortaya çıkmasıyla, daha yeni TeX motorlarının UTF-8 kodlu metin için yerleşik destek gibi güçlü ek işlevler sunması nedeniyle bazı eski TeX uzantılarına duyulan ihtiyaç ve kullanım azaldı. Bu sayfanın amacı, bir [TeX motorunun komut satırı seçeneklerinde](/latex/tr/daha-fazla-konu/44-tex-engine-command-line-options-for-pdftex-xetex-and-luatex.md). MLTeX ve EncTeX artık geliştirilmiyor, ancak çok yararlı bir uzantı olan SyncTeX aktif olarak geliştirilmeye devam ediyor ve Overleaf tarafından destekleniyor.

## MLTeX

*Çok dilli TeX*, ya da MLTeX, 1992–5 yılları arasında, normal Computer Modern (CM) yazı tipleri kullanarak aksanlı harf içeren sözcüklerin hecelemeye bölünmesine izin verecek şekilde TeX'in bir değişikliği olarak geliştirildi.

### MLTeX'i etkinleştirme

MLTeX, sözde bir `.fmt` (biçim dosyası) ki bu aslında bir TeX makroları kümesinin önceden derlenmiş ikili sürümüdür. Biçim dosyaları oluşturmak için bir TeX motorunu sözde `INI` moduna alır, makro koleksiyonunu işler ve ardından `\dump` çıktıyı yazmak için `.fmt` dosyayı. Bkz. [bu makale](/latex/tr/derinlemesine-makaleler/50-the-two-modes-of-tex-engines-ini-mode-and-production-mode.md) INI kipleri üzerine bir tartışma için.

MLTeX'i etkinleştirmek için, *bunu destekleyen motorlar için*, örneğin pdfTeX'te, şunu yazarsınız

```
pdftex -ini -mltex *pdfetex.ini
```

burada `pdfetex.ini` TeX Live dağıtımında bulunan bir dosyadır.

**Neden yıldız işareti (`*`)?** Yıldız işareti pdfTeX'i sözde “genişletilmiş kip”e geçirir; bu da e-TeX ilkel komutlarının desteğini etkinleştirir. Onu atlayıp şunu yazarsanız `pdftex -ini -mltex pdfetex.ini` bir hata alırsınız:

```
Bu pdfTeX, Sürüm 3.14159265-2.6-1.40.19 (INITEX)
 \write18 etkinleştirildi.
MLTeX v2.2 etkinleştirildi
(c:/texmf-dist/tex/plain/config/pdfetex.ini
(c:/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex)
(c:/texmf-dist/tex/plain/etex/etex.src

! e-TeX ölümcül hata: bu dosya yalnızca genişletilmiş kipte işlenebilir;
  yıldız işaretini unutmuş olabilir misiniz?
```

**Not**: Yıldız işareti kullanmak yerine “genişletilmiş kip”i etkinleştirmek için `-etex` komut satırı seçeneğini bunun yerine kullanabilirsiniz:

```
pdftex -ini -etex -mltex pdfetex.ini
```

**Not**: Kullanmak `-mltex` seçeneğini komut satırında, `.fmt` olan bir dosya *oluşturulmamış* ve MLTeX etkin halde *yapmaz* çalışır: MLTeX, uygun bir biçim dosyası aracılığıyla “etkinleştirilmelidir”.

Şunu kullandığınızda `-mltex` seçeneğini `.fmt` dosya oluşturma sırasında, değeri “true” olan bir boole değişkeni `.fmt` dosyasına yazılır ve TeX motoruna MLTeX uzantılarının etkinleştirildiğini ve kullanıcıya sunulması gerektiğini bildirir. Eğer `-mltex` seçeneğini açıkça ayarlamazsanız, ilgili değişken “false” olur. Eğer bu değişkenin değeri “false” olarak algılanırsa (o `.fmt` dosya bir TeX çalıştırması sırasında yeniden yüklendiğinde) MLTeX uzantılarını kullanmayı denemek bir `Tanımsız komut...` hatasıyla sonuçlanır—çünkü MLTeX ilkel komutları kaydedilmemiş (yüklenmemiş) olacak ve bu nedenle tanınmayacaktır.

Çalıştırdıktan sonra `pdftex -ini -mltex *pdfetex.ini` komut satırında ve MLTeX v2.2'nin etkin olduğunu gösteren aşağıdaki metne benzer bir şey göreceksiniz:

```
Bu pdfTeX, Sürüm 3.14159265-2.6-1.40.19 (INITEX)
\write18 etkinleştirildi.
genişletilmiş kiple giriliyor
MLTeX v2.2 etkinleştirildi
....
....
....
pdfetex.fmt dosyasına döküme başlanıyor
....
Çıktı sayfası yok.
Döküm pdfetex.log dosyasına yazıldı.
```

Bunun sonucunda `.fmt` adlı bir dosya `pdfetex.fmt` ki bu da MLTeX komutlarını kullanmanızı sağlar:

```
pdftex -fmt=pdfetex <yourfile.tex>
```

burada `<yourfile.tex>` MLTeX'e özgü ilkel komutları kullanabilir

MLTeX başlangıçta ayrı bir değişiklik dosyası olarak dağıtılıyordu, [mltex.ch](http://tug.ctan.org/systems/generic/mltex/mltex.ch), Knuth’un ana kaynak koduyla ([`tex.web`](https://ctan.org/tex-archive/systems/knuth/dist/tex?lang=en)) birleştirilerek, bir dizi yeni ilkel komut içeren MLTeX adlı TeX'in yeni bir sürümü türetilebiliyordu. Bugün, `mltex.ch` ana `tex.ch` değişiklik dosyasındaki MLTeX kodu, neredeyse tüm TeX motorlarını derlemek için kullanılan ana değişiklik dosyasına dâhildir.

### MLTeX ilkel komutları

Aşağıdaki notlar çoğunlukla dosyadan hazırlanmış ve yeniden üretilmiştir `web2c.info` içinde bulunan [TeX Live](https://tug.org/texlive/) dağıtımında.

* **`\\charsubdef`**: Karakter ikame tanımları. İki karakter glifi (mevcut olan) kullanarak aksanlı bir karakter glifinin (mevcut yazı tipinde mutlaka bulunması gerekmez) nasıl oluşturulacağını bildirir.

  ```
  \charsubdef COMPOSITE [=] ACCENT BASE
  ```

  COMPOSITE, ACCENT ve BASE'in her biri yazı tipi glif numaralarıdır; bunlar alışılmış TeX sözdizimiyle ifade edilir: \`\e simgesel olarak, '145 sekizlik için, "65 onaltılık için, 101 onluk için. Böylece, ister tek bir karakter olarak yazılsın ister `\char` ilkel komutu kullanılarak girilsin, bir karakter glif kodunun bir yazı tipi glifine mi yoksa bir `\\accent` glif oluşturumuna

  Örneğin, bir e-circumflex için glif kodunun 138 (ondalık) olduğunu varsayarsanız ve circumflex aksanının 18. konumda, küçük harf ‘e’nin ise olağan ASCII konumu olan 101 ondalıkta bulunduğu Computer Modern yazı tiplerini kullanıyorsanız, şunu kullanırsınız `\\charsubdef` şöyle:

  ```
  \charsubdef 138 = 18 101
  ```
* **`\\charsubdefmax`**: İçindeki en büyük değeri ayarlar `\\charsubdef` listede. Örneğin:

  ```
  \charsubdefmax=-1 % tüm ikameleri devre dışı bırak
  \charsubdefmax=256 % tüm ikameleri etkinleştir
  ```
* **`\tracingcharsubdef`**: İkame izleme. ile ilgili sorunları teşhis etmeye yardımcı olmak için `\\charsubdef`, MLTeX bir ilkel parametre sağlar, `\tracingcharsubdef`. Pozitifse, her kullanım `\\charsubdef` raporlanır. Bu, bir karakterin ne zaman yeniden tanımlandığını bulmaya yardımcı olabilir.

## EncTeX

EncTeX, 1997–2004 yılları arasında, yeni ilkel komutlar ekleyerek esnek giriş/çıkış yeniden kodlaması sağlayan bir TeX uzantısı olarak geliştirildi—örneğin, girdi verisini TeX'e girerken çevirme aracı. Örneğin UTF-8 kodlaması gibi çok baytlı dizilerin standart 8-bit TeX motorlarında kullanılmak üzere çevrilmesine olanak tanır.

### EncTeX'i etkinleştirme

MLTeX'te olduğu gibi, EncTeX de sözde bir `.fmt` (biçim dosyası)—bkz. [MLTeX](#mltex)yukarıda, biçim dosyaları/INI kipi açıklaması için.

EncTeX'i etkinleştirmek için, *bunu destekleyen motorlar için*, örneğin pdfTeX'te, EncTeX etkin bir biçim dosyası oluşturmak için şunu yazarsınız

```
pdftex -ini -enc *pdfetex.ini
```

burada `pdfetex.ini` TeX Live dağıtımında bulunan bir dosyadır.

**Neden yıldız işareti (`*`)?** Yıldız işareti pdfTeX'i sözde “genişletilmiş kip”e geçirir; bu da e-TeX ilkel komutlarının desteğini etkinleştirir. Onu atlayıp şunu yazarsanız `pdftex -ini -mltex pdfetex.ini` bir hata alırsınız:

```
Bu pdfTeX, Sürüm 3.14159265-2.6-1.40.19 (INITEX)
 \write18 etkinleştirildi.
MLTeX v2.2 etkinleştirildi
(c:/texmf-dist/tex/plain/config/pdfetex.ini
(c:/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex)
(c:/texmf-dist/tex/plain/etex/etex.src

! e-TeX ölümcül hata: bu dosya yalnızca genişletilmiş kipte işlenebilir;
  yıldız işaretini unutmuş olabilir misiniz?
```

**Not**: Yıldız işareti kullanmak yerine “genişletilmiş kip”i etkinleştirmek için `-etex` komut satırı seçeneğini bunun yerine kullanabilirsiniz:

```
pdftex -ini -etex -mltex pdfetex.ini
```

Bu `-enc` komut satırı seçeneği, ortaya çıkan `pdfetex.fmt` biçim dosyasına bazı veriler yazarak pdfTeX motorunun EncTeX'i etkinleştirmesini sağlar.

**Not**: Kullanmak `-enc` seçeneğini komut satırında, `.fmt` olan bir dosya *oluşturulmamış* EncTeX etkinleştirilmiş halde *yapmaz* çalışır: EncTeX, uygun şekilde oluşturulmuş bir biçim dosyası aracılığıyla “etkinleştirilmelidir”.

### EncTeX ilkel komutları

EncTeX, bir TeX motoruna 10 yeni ilkel komut ekler:

* İlk sürümdeki 3 ilkel komut (1997):
* `\xordcode`
* `\xchrcode`
* `\xprncode`
* 2003'te 7 ek ilkel komut (UTF-8 desteği için):
* `\\mubyte`
* `\\endmubyte`
* `\\mubytein`
* `\\mubyteout`
* `\\mubytelog`
* `\specialout`
* `\\noconvert`

Bu ilkel komutların kullanımı ve davranışı [EncTeX başvuru kılavuzunda](http://mirrors.ctan.org/systems/enctex/encdoc-e.pdf), EncTeX'in yazarı Petr Olšák tarafından yazılmıştır. Burada gereksiz tekrarları önlemek için, ilgilenen okurlar o belgeye yönlendirilir.

### EncTeX hakkında daha fazla bilgi

* [EncTeX'in ikinci sürümü: UTF-8 desteği](http://mirrors.ctan.org/systems/enctex/eurotex2003-enctex.pdf): EncTex'in yazarı Petr Olšák tarafından yazılmış bir makale.
* [EncTeX başvuru kılavuzunda](http://mirrors.ctan.org/systems/enctex/encdoc-e.pdf) (İngilizce).

### Hem MLTeX'i hem EncTeX'i etkinleştirme

Hem MLTeX'i hem de EncTeX'i etkinleştirmek için, örneğin aşağıdaki gibi bir komut satırı kullanarak uygun bir biçim dosyası oluşturursunuz

```
pdftex -ini -enc -mltex *pdfetex.ini
```

burada `pdfetex.ini` TeX Live dağıtımında bulunan bir dosyadır.

**Neden yıldız işareti (`*`)?** Yıldız işareti pdfTeX'i sözde “genişletilmiş kip”e geçirir; bu da e-TeX ilkel komutlarının desteğini etkinleştirir. Onu atlayıp şunu yazarsanız `pdftex -ini -enc -mltex pdfetex.ini` bir hata alırsınız:

```
Bu pdfTeX, Sürüm 3.14159265-2.6-1.40.19 (INITEX)
 \write18 etkinleştirildi.
MLTeX v2.2 etkinleştirildi
(c:/texmf-dist/tex/plain/config/pdfetex.ini
(c:/texmf-dist/tex/generic/tex-ini-files/pdftexconfig.tex)
(c:/texmf-dist/tex/plain/etex/etex.src

! e-TeX ölümcül hata: bu dosya yalnızca genişletilmiş kipte işlenebilir;
  yıldız işaretini unutmuş olabilir misiniz?
```

**Not**: Yıldız işareti kullanmak yerine “genişletilmiş kip”i etkinleştirmek için `-etex` komut satırı seçeneğini bunun yerine kullanabilirsiniz:

```
pdftex -ini -etex -enc -mltex pdfetex.ini
```

Yukarıdaki komut satırını çalıştırdıktan sonra, MLTeX ve EncTeX'in ikisinin de etkin olduğunu bildiren aşağıdakine benzer bir mesaj görürsünüz:

```
Bu pdfTeX, Sürüm 3.14159265-2.6-1.40.19 (INITEX)
 \write18 etkinleştirildi.
genişletilmiş kiple giriliyor
MLTeX v2.2 etkinleştirildi
 encTeX v. Haz. 2004, yeniden kodlama etkinleştirildi.
....
....
....
pdfetex.fmt dosyasına döküme başlanıyor
....
Çıktı sayfası yok.
Döküm pdfetex.log dosyasına yazıldı.
```

ve `pdfetex.fmt` MLTeX ve EncTeX'in ikisini de etkinleştiren bir biçim dosyası üretilirdi.

## SyncTeX

SyncTeX uzantısı 2008'den beri kullanılabilir durumdadır ve yaratıcısı Jérôme Laurens tarafından aktif olarak geliştirilmeye devam etmektedir. Overleaf dâhil olmak üzere yaygın biçimde kullanılır ve bugün kullanılan tüm TeX motorları tarafından desteklenir.

### SyncTeX ne yapar?

TeX ile dizilmiş bir belgeyi görüntülerken, belki bir yayınevine göndermeden önce düzeltme/denetleme amacıyla, bir hata fark edip TeX kaynak kodunda düzeltmeniz gerekebilir. Ancak TeX dosyasında doğru konumu bulmak zor olabilir, özellikle de belge kapsamlıysa. Aynı şekilde tersini de yapmak isteyebilirsiniz: bir TeX kaynak dosyasındaki bir konumdan doğrudan son dizilmiş PDF'deki sayfa konumuna atlamak. Her iki durumda da ihtiyaç vardır *eşgüdüm sağlamaya* TeX dosyasındaki belirli bir konum ile dizilmiş sonuçların gösterimindeki karşılık gelen konum arasında: ve SyncTeX'in sağladığı da budur—TeX dosyalarındaki konumları dizilmiş belgelerdeki sayfa konumlarıyla otomatik olarak ilişkilendirme yolu.

SyncTeX etkinse, uzantısı olan özel bir dosya yazar `.synctex.gz` (gz sıkıştırılmış) ya da `.synctex` (sıkıştırılmamış) şu seçeneğe bağlı olarak [SyncTeX'e sağlanan komut satırı seçenekleri](#synoptions). SyncTeX destekli metin düzenleyiciler ve (çoğunlukla) PDF görüntüleyiciler bu dosyaları, girdi (TeX kodu) ile çıktı (dizilmiş PDF'nin gösterimi) arasındaki gerekli eşgüdümü gerçekleştirmek için kullanabilir. Açıkçası, bu, kullanıcının metin düzenleyicisi ve PDF belge görüntüleyicisinin, metin dosyası/PDF görüntüleyici konumları arasında iletişimi mümkün kılan uygun işlevlere sahip olmadan yalnızca “kendiliğinden” gerçekleşemez—çünkü bu, SyncTeX tarafından yazılan dosyada bulunan verilere dayanır. `.synctex.gz` (veya `.synctex`) SyncTeX tarafından yazılan dosya.

TeX motorundaki işlevlere ek olarak—üretmek için `.synctex.gz` dosyaları—SyncTeX ayrıca özel bir [ayrıştırıcı](https://github.com/jlaurens/synctex/) okuyan `.synctex.gz` (veya `.synctex`) dosyaları ilgili sayfa/satır konum bilgilerini çıkarmak için. Uygulamalar SyncTeX desteği sağlamak için bu ayrıştırıcıyı kullanır.

### SyncTeX'i etkinleştirme

SyncTeX destekli TeX motorlarının SyncTeX'i etkinleştirmek/devre dışı bırakmak için iki yolu vardır:

* bir komut satırı seçeneği: `-synctex=NUMBER`
* içindeki bir komut `.tex` dosyada: `\synctex` ilkel

### SyncTeX'i komut satırında kullanma

Şunu kullanabilirsiniz: `-synctex=NUMBER` SyncTeX'i destekleyen bir TeX motorunu, örneğin pdfTeX'i, çalıştırdığınızda bu seçeneği kullanın.

#### Örnekler

* SyncTeX'i etkinleştir: çıktı `.synctex.gz` (gz sıkıştırılmış dosya):

```
pdftex -synctex=1 myfile.tex
```

Üretir `myfile.synctex.gz`

* SyncTeX'i etkinleştir: çıktı `.synctex` (sıkıştırılmamış dosya):

```
pdftex -synctex=-1 myfile.tex
```

Üretir `myfile.synctex`

* SyncTeX'i devre dışı bırak:

```
pdftex -synctex=0 myfile.tex
```

Hiçbir SyncTeX çıktısı üretilmez.

### SyncTeX'in tek ilkel komutu

SyncTeX bir ilkel komut sağlar, `\synctex`kullanıcıların kendi `.tex` dosya:

* SyncTeX'i etkinleştir: `\synctex=1`
* SyncTeX'i devre dışı bırak: `\synctex=0`

### SyncTeX hakkında daha fazla bilgi

* [Jérôme Laurens tarafından yazılmış bir TUGBoat makalesi](http://www.tug.org/TUGboat/tb29-3/tb93laurens.pdf), SyncTeX'in yazarı.
* Bu [GitHub deposu](https://github.com/jlaurens/synctex) SyncTeX ayrıştırıcısının


---

# 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/tr/daha-fazla-konu/39-mltex-enctex-and-synctex-tex-extensions.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.
