> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/latex/tr/derinlemesine-makaleler/52-using-luatex-to-run-tools-and-utilities-installed-on-overleaf-s-servers.md).

# Overleaf'in sunucularında yüklü araç ve yardımcı programları çalıştırmak için LuaTeX kullanma

## Overleaf’in sunucuları: yazılım çalıştırma ve yürütme

Overleaf’in güçlü sunucuları projenizi şu temele dayanan bir sanal alanda derler: [Docker’ın Linux kapsayıcı teknolojisi](https://www.docker.com/). Her proje kendi sanal alanını alır; bu da, projeyi derlemenin bir parçası olarak çalıştırdığımız herhangi bir kodun diğer projelerden yalıtılmasını sağlar—ve bu, projeleri güvenli biçimde derlemek için kullandığımız birkaç koruma katmanının ilkidir. TeX kullanıcıları için bu, sunucularımızda bulunan araçlara ve yardımcı programlara güvenle erişip kullanabileceğiniz anlamına gelir—peki nasıl? Bu kısa yazıda, harici bir programı çalıştırmak ve normalde bir terminal penceresine gönderilecek herhangi bir metni yakalamak için bir Lua betiğinin (LuaTeX aracılığıyla) nasıl kullanılacağını gösteriyoruz. Örneğin, bazı DVI dosyalarını SVG’ye dönüştürmekle ilgilendiğinizi varsayalım; bunun için `dvisvgm` yardımcı programını kullanmak istiyorsunuz ama çeşitli komut satırı seçeneklerini hatırlayamıyor musunuz? Hafızanızı tazelemek için bunların bir listesini hızlıca dizmek güzel olmaz mıydı? Öyleyse okumaya devam edin—ancak bunu uygulamada görmek isterseniz, şuraya gidin: [galeri proje örneği](https://www.overleaf.com/latex/examples/using-luatex-to-run-software-installed-on-overleafs-servers/nnvfvnfhzwsy) nasıl yapıldığını görmek için.

![Bir Overleaf projesinin ekran görüntüsü](/files/a8bbb8fef4b3800670839b7ce34f8b0e9ffe79e5)

### LuaTeX kullanarak bir Lua betiği aracılığıyla harici bir program çalıştırma

LuaTeX'in TeX motoruna gömülü Lua betik diline sahip olması sayesinde, yalnızca bir harici programı çalıştırmakla kalmayıp, aynı zamanda o programın normalde bir terminal penceresine çıkaracağı herhangi bir metni yakalayıp bir dosyaya kaydeden kısa bir betik yazmak neredeyse son derece kolaydır. Bu metin bir dosyaya kaydedildikten sonra, aşağıdaki paketi kullanabilirsiniz: `verbatim` bunu ana TeX belgenize aktarmak için kullanabilirsiniz. Bunu LuaTeX ile yapmak için gereken tüm kod şöyledir:

```latex

\documentclass{article}
\usepackage{verbatim}
\begin{document}
\directlua{
function runcommand(cmd)
local fout = assert(io.popen(cmd, 'r'))
local str = assert(fout:read('*a'))
fout:close()
return str
end

local sout=runcommand("dvisvgm --help")
local marg = assert(io.open("command.txt","w"))
marg:write(sout)
marg:flush()
marg:close()
}
\verbatiminput{command.txt}
\end{document}
```

Yukarıdaki kodda kilit satır `local sout=runcommand("dvisvgm --help")` şunu çalıştırır: `dvisvgm` komut satırı seçeneğiyle `--help` şunu talimatlandırmak için `dvisvgm` tüm komut satırı seçeneklerini listelemesini sağlar. Yardım metni yakalanır ve şu adlı bir metin dosyasına kaydedilir: `command.txt`. İçindeki Lua kodu `\directlua{...}` çalışmayı bitirdikten sonra, `command.txt` içeriği ana TeX belgesine şu kullanılarak eklenir: `\verbatiminput{command.txt}`. Yakalanan herhangi bir metni olduğu gibi materyal olarak eklemeniz önemlidir; çünkü `$, #, \, _, ^` gibi karakterler içe aktarılan metin içinde bulunabilir.

İsterseniz şu kodu değiştirebilirsiniz: `runcommand("dvisvgm --help")` ve GhostScript gibi diğer programları çalıştırmayı—ya da kullanmakla ilgilenebileceğiniz herhangi bir TeX Live yazılımını—deneyebilirsiniz.


---

# 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://ayakaleaf-pro.ayaka.space/latex/tr/derinlemesine-makaleler/52-using-luatex-to-run-tools-and-utilities-installed-on-overleaf-s-servers.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.
