Alt dosya derleme soruları

Oct 05 2020

Diyelim ki bir belgem var:

% Preamble
\usepackage{subfiles}
% Preamble
\begin{document}
    \maketitle
    \subfile{FileA}
    \subfile{FileB}
    \subfile{FileC}
\end{document}

Bazı sorular:

  1. Diyelim ki dosya henüz derlenmemiş ve ben FileA diyelim. Başlık hiç görünecek mi, yoksa başlığın görünmesi için ana dosyayı çalıştırmam gerekecek mi?
  2. Gördüğüm kadarıyla, alt dosyalar diğer alt dosyalardan bağımsız olarak derlenir, yani sadece o bölümü derlerken, ana dosyayı derlemek, \inputoradaki alt dosyalardan tüm TeX kodunu kullanıyormuşum veya sadece sahip olduğum gibi aynıdır . Diğer alt dosyaları el değmeden bırakırken bazı alt dosyaları aynı anda derlemenin bir yolu var mı (olduğu gibi, alt dosyalardan elde edilen sonuçlar pdf'de görünmemek yerine değişmiyor)?
  3. Bir alt dosyayı derlersem ve birden çok alt dosyanın sonuçları bu alt dosyayla aynı sayfadaysa, bu alt dosyanın derlenmesi nedeniyle sonraki alt dosyalardan elde edilen sonuçlar "üzerine yazılır" mı?
  4. Az önce bir alt dosya derledim, bazı nedenlerden dolayı derleme zamanı ana dosyayı derlemekle aynı. Bunun olması gerekiyor mu?
  5. 4'e Düzenle: Ana dosyayı kapattım ve alt dosyayı çalıştırdım, sonuçta sadece alt dosya yerine tüm dosyayı derledim, bu da alt dosyaların "kendi başlarına derlenebilir" olmalarına aykırı görünüyor. Biri ayrıntı verebilir mi?

Bu arada TeXStudio kullanıyorum.

Yanıtlar

1 gernot Oct 06 2020 at 18:18

Yorumlar için çok uzun.

Soru 1: Başlık, \maketitlekomutu içeren belgede görünüyor . Ana dosyadaysa ve bir alt dosya derlerseniz, başlık görünmez, çünkü alt dosya ana dosyadan yalnızca önsözü alır ve geri kalanını yok sayar.

2. soru: Bu soruya özel değil subfilesve cevap temelde 'hayır'dır. Bildiğim kadarıyla, TeX işlemcilerden hiçbiri önbelleğe alma yapmıyor ve sadece değişen parçaları diziyor. Bazı paketler, bir sonraki çalıştırma için yoğun hesaplamaların sonucunu önbelleğe alma olanağı sağlar (dışarıdan kullanıma sokma gibi pgfplots). Daha büyük ölçekte, bir projeyi gibi oluşturmak için araçları kullanabilirsiniz make, antdeğişmiş bir projenin sadece bölümlerini derlemek ve daha çok fazlası. Ancak TeX dosyaları için, tüm dosyayı yazan bir tex işlemcisi çağırmaya devam edecektir.

Re soru 3: Bunun TeX ve alt dosya paketinin ne yaptığına dair bir yanlış anlama olduğunu düşünüyorum. Ana belgeyi texdizerken, alt dosyalara ait kaynakları yok sayarak yükleyecektir pdf. Bu nedenle, alt dosyalardan herhangi birini dizmek, alt dosyalar için yeni pdfURL'ler oluşturacaktır , ancak ana dosyanın pdf'ini değiştirmeden bırakacaktır. TeXStudio, texgörüntülenmek üzere anında dizilmiş dosyaları gerçekten düzenlediğiniz gerçeğini gizleyebilir pdf.

Soru 4: Bir alt dosyayı dizerken, işlem süresi kesinlikle ana dosyayı dizgiye göre daha kısadır. Ancak, çoğu durumda bunu fark etmeyeceksiniz çünkü programı başlatmak ve dosyaları açmak, bazı metinleri dizmekten çok daha fazla zaman alıyor. Yalnızca ana dosya çok büyük olduğunda ve / veya bazı bölümler yoğun hesaplama grafikleri içerdiğinde gerçek zamanlı tasarruf göreceksiniz.

Soru 5: Bu muhtemelen bir TeXStudio ve / veya kullanım sorunudur. TeXStudio muhtemelen dosya kümesini her zaman 'geçerli' olanı olarak dizer ve muhtemelen yalnızca alt dosyayı dizmek istediğinin farkında değildi.

Genel öneri: Tek bir tex dosyasıyla başlayın. Çok büyük olursa, \inputveya kullanarak yapılandırın \include. Yalnızca belgenin bir bölümünü bağımsız olarak dizmek için gerçekten ihtiyacınız varsa, gibi paketleri denemeye başlayın subfiles.