TeX / LaTeX'in halefi görünürde mi? [kapalı]


118

TeX / LaTeX harika, birçok şekilde kullanıyorum. Avantajlarından bazıları şunlardır:

  • metin dosyalarını kullanır, bu şekilde girdi dosyaları farklılaştırılabilir ve metinle çalışmak için birçok araç vardır
  • çok esnektir
  • kararlı bir düzeni var: Belgenin başında bir şeyi değiştirirsem, belgenin sonundaki diğer şeyleri etkilemez
  • farklı hedeflere ulaşmak için birçok uzantıya sahiptir (bir halef, uzantılar olmadan başlar, ancak iyi bir uzantı sistemine sahip olur)
  • karmaşık belgeleri desteklemek için standart yapı denetim araçlarını kullanabilirsiniz (teşekkürler dmckee)
  • çözümleri kapsülleyebilir ve bunları yeni belgelere kopyalayıp yapıştırabilir veya öğrenmeleri için başkalarına gönderebilirsiniz (teşekkürler dmckee)

Ama diğer yandan bazı küçük şeyler o kadar da iyi değil:

  • başlangıçta öğrenmek zor
  • görüntülerin konumunu kontrol etmek karmaşıktır
  • birkaç şey biraz sezgiseldir
  • bazen çok fazla yazmanız gerekir ({itemize} ... \ end {itemize} ile başlayın)

Öyleyse, LaTeX'in bir halefi / alternatifi var mı yoksa en azından geliştirmede bir alternatif için sıcak bir aday var mı? Gerçek bir halef / iyi alternatif, avantajları koruyacak ve dezavantajları veya en azından bazılarını düzeltecektir.


9
Avantajlar listenize ekleyin: "Karmaşık belgeleri desteklemek için standart oluşturma kontrol araçlarını kullanabilirsiniz --- ve aslında iki format (örneğin yüksek okulun ısrar ettiği ve iyi görünen ve daha az ağacı öldüren) tek bir belge. "
dmckee --- eski moderatör yavru kedi

1
Bir diğeri: "Öğrendiğiniz şeyleri, onları yararlı bulabilecek başkaları için özetleme gücüne sahipsiniz."
dmckee --- eski moderatör kedicik

5
@dmckee: Nihai çıktısını elde etmek için kaç kez (pdf) lateksin çalıştırılması gerektiğini önceden bilmiyorsanız, standart yapım araçlarını (make ve diğerleri) nasıl kullanıyorsunuz?
j_random_hacker

1
@j_r_h: Latexmk ve kauçuğa bir göz atın: pps.jussieu.fr/~beffara/soft/rubber
ShreevatsaR

4
Diğer bir avantajı (TeX'in tekstil dosyalarını kullanması): CVS, SVN ... gibi standart sürüm oluşturma araçlarını kullanabilirsiniz, bu da (bir dereceye kadar) bir belge üzerinde işbirliğine dayalı çalışmaya izin verir; Bir belgenin bölümlerini ayrı dosyalara dönüştürerek yine ortak çalışmayı destekleyebilirsiniz.
chiccodoro

Yanıtlar:


128

Temelde sonsuza dek süren bir LaTeX3 projesi var. Bu anlamda, mevcut LaTeX2e'nin halefidir.

TeX'in oluşturulduğu sıradaki birincil hedefini unutuyorsunuz / yok sayıyorsunuz - "TeX, güzel kitapların yaratılması için tasarlanmış yeni bir dizgi sistemidir". TeX'in amacı dizgi yapmaktı ve birincil endişeleri "Paragrafları Satırlara Ayırmak " gibi şeylerdi ( Donald E. Knuth ve Michael F. Plass, Software - Practice and Experience, Cilt 11, s. 1119-1184, 1981 ) , bitişik harfler, karakter aralığı, güzel yazı tipleri (Knuth , AMS Euler gibi yazı tipleri oluşturmada Hermann Zapf ile çalıştı ) ve bir sayfadaki metnin düzeni üzerinde hassas kontrol.

LaTeX, denklemlerin ve bölümlerin otomatik olarak numaralandırılması, çapraz referanslama vb. Gibi "belge yönetimi" yeteneklerini tanıtan TeX'in üzerine inşa edilen daha sonraki bir makro setiydi. "LaTeX: bir belge hazırlama sistemi" ile devam ediyor.

LaTeX'in haleflerini, LaTeX'in belge yönetimi yeteneklerini sunan alternatifleri ve belki de DocBook gibi daha iyisini yapabileceğini çok iyi hayal edebilirsiniz. (Aslında XML tabanlı, ama ...) Ancak dizgi motorunun kendisi olan TeX'in yerini alacak alternatifler hayal etmek zor. TeX muhtemelen içinde en az hataya sahip programlar arasında yer alıyor - Knuth, TeX'te bulunan her hata için 327,68 $ teklif ediyor ve bunu uzun süredir yapıyor. Knuth'un karakteristik mükemmellik arayışıyla birçok düşünce içine girdi. Her yönü yapılandırılabilir, kod kamu malıdır (değişiklik yaparsanız başka bir adla çağırmanız gerektiği kısıtlaması dışında - bunun nedeni TeX 'dir.

TeX'in fikirlerinden bazıları Adobe'nin Indesign'ına dahil edildi (örneğin) ve bu dizgi motorlarının da bazı yenilikçi fikirleri var, ancak TeX hala üstün. [Not: Knuth, TeX'in sonsuza kadar standart olmasını istemedi, sadece "önümüzdeki 100 yıl boyunca" daha iyi bir şey ortaya çıkana kadar. Hepimizin bildiği gibi biri olabilir.]

LaTeX'in ConTeXt ve LuaTeX gibi TeX tabanlı alternatifleri vardır. Daha uygun oldukları görevler olması mümkündür.

Diğer itirazlarınıza cevap vermek gerekirse: LaTeX muhtemelen gerekenden daha fazla karmaşıklık getirmiş olsa da, öğrenmenin TeX kısmı kaçınılmazdır - güzel kitaplar yaratmak istiyorsanız , ne olursa olsun bilmeniz gereken bazı şeyler vardır . Ve görüntülerin konumunu kontrol etmek zor değil; TeX, sayfadaki her nokta üzerinde kontrol sahibi olmanızı sağlamak için tasarlandı , ancak bu kontrolü uygulamak için basit yapıların ötesine geçmeniz gerekebilir (ama hiç zorunda kalmadım ...) Ve iyi bir düzenleyici veya makro kullanırsanız, çok fazla yazmanız gerekmeyecek \ begin {itemize} ... \ end {itemize}; bu sadece kötü bir şikayet: P


12
Mükemmel cevap. Bir kelime oyunu olsa: LuaTeX için yedek TeX Bağlam LaTeX'in bir alternatif (ve de yerine olabilir).
Will Robertson

1
Böcekler için 327,68 $ değil 2,56 $ (veya bir onaltılık dolar) teklif ettiğini sanıyordum. Haklı mıyım yanlış mıyım?
Joey Adams

6
@Joey, teknik kitaplarındaki hatalar için 2.56 $, 3:16 kitabındaki hatalar için 3.16 $ ve TeX ve METAFONT'taki hatalar için miktar 2.56 $ 'dan başladı ve 327.68 $' a ulaşana kadar her yıl ikiye katlandı.
Kevin

42
Lateks ile ilgili en büyük acı, tek seferde çalışan ve anlamlı hatalar üreten standart bir derleyicinin olmamasıdır. Ayrıca, işleri yapmanın net bir tek yolu veya "paketleri" bulup ne yaptıklarını bilmek için iyi bir kullanıcı dostu yer yoktur.
Lateksle

5
LuaTeX, LaTeX'e bir alternatif değildir, üzerinde hem LaTeX'in (daha sonra LuaLaTeX olarak adlandırılır) hem de ConTeXt'in çalışabileceği genişletilmiş bir TeX motorudur (pdftex, XeTeX gibi). (Bugünün ConTeXt için varsayılan olduğunu düşünüyorum.)
Paŭlo Ebermann

56

LaTeX görevde olduğu ve işinde oldukça iyi olduğu için kısa cevap 'Hayır'dır. Aynı zamanda ücretsizdir, bu yüzden onu değiştirmeye çalışmak için nispeten az ticari teşvik vardır. Aslında, TeX teknik yayıncılıkta yeterince iyidir, teknik yayıncılık araçları için ticari pazar, 'geek' ucunda TeX ile 'büyük yıkanmamış' uçta kelime arasında sıkışmış durumda.

Daha uzun cevap, 'Alternatifler vardır'. LaTeX ve diğer paketler, sızdıran soyutlama sorunlarından büyük ölçüde muzdariptir ve ondan istediğinizi elde etmek için genellikle teknik müdahale gerektirir. Bu sizi perde arkasında nasıl çalıştığını anlama işine sokar, ki bu aslında oldukça tekniktir. Bu nedenle, bu düzeyde teknik beceriye sahip birine erişiminiz varsa, yalnızca sıradan olmayan uygulamalar için gerçekten kullanabilirsiniz. Bir rapor veya kitap yazmak iyidir. LaTeX ile tek kaynaklı bir teknik dokümantasyon iş akışı oluşturmak oldukça farklı bir teklif - teknik beceri tabanına sahip birine erişmeniz gerekecek.

LaTeX için alternatifler

  • Ticari teknik yayın araçları. Gerçekten ayakta kalan tek bir şey var: Framemaker . Bu olgun bir ürün ama biraz durgun. Bununla birlikte, MIF adı verilen açık bir belge ve bölüm değişim biçimine , kapsamlı bir API'ye ve yapılandırılmış belgeler için kapsamlı desteğe sahiptir. Havacılık çevrelerinde (örneğin), uçaklar için referans belgelerinin on binlerce sayfaya kadar çalıştığı yerlerde oldukça yaygın olarak kullanılmaktadır. Ek olarak, bu alanda birkaç tane de-rans vardır: Ventura Publisher , Arbortext ( TeX'ten türetilmiş arka uç IIRC'ye dayanmaktadır) ve şu anda Quicksilver olarak bilinen Interleaf .
    Adobe iddiasıInDesign'da teknik yayınlama işlevselliği uygulamak istiyorum, ancak bunun için yeteneklerini gerçekten değerlendirmedim.

  • Lout TeX'ten tamamen farklı bir temel mimariye sahip bir biçimlendirme dili. Lout ile hiç çalışmadım ama perde arkasında çalışmanın TeX'ten daha kolay olduğuna inanıyorum.

  • Troff / Groff. Başlangıçta, 1970'lerde AT&T içinde teknik dokümantasyon için tasarlanmış (aslında UNIX Ar-Ge çalışmasının bir yan ürünü), bugün hala oldukça yaygın olarak kullanılmaktadır. Uzun bir süre, O'Reilly kitaplarının tümü olmasa da çoğu onu kullanarak dizildi.

  • DocBook . Bu, yapı dokümantasyonu için XML etiketi tabanlı bir formattır ve yabancı motorlar aracılığıyla işlenerek çalışma eğilimindedir. Hiç DocBook kullanmadım, bu yüzden pratikte kullanımı hakkında gerçekten yorum yapamam.

  • Mükemmel . Bu, büyük dokümantasyonda MS-Word'den çok daha iyi olan saygıdeğer bir kelime işlem sistemidir. Aynı zamanda işletilen bir şey olarak görülmesine rağmen, hukuk büroları gibi çeşitli niş pazarları korur ve büyük, karmaşık ve çok fazla çapraz referanslı belgeler için makul derecede iyidir (en azından Word'den önemli ölçüde daha iyidir).

  • Microsoft Word . Karmaşık belgelerdeki istikrarsızlık nedeniyle ciddi teknik yayın görevleri için önerilmez. Ancak, çoğu zaman siyasi kısıtlamalar nedeniyle tek seçenektir. Endeksleme özellikle acı vericidir.

DÜZENLEME: Framemaker ve diğer teknik dokümantasyon araçları hakkında daha ayrıntılı bilgi için bu Stackoverflow gönderisine bakın . Özellikle biçimlendirme dili tabanlı bir sistem kullanmak istemeyen biri için teknik dokümantasyon araçlarıyla ilgili bir sorunun cevabıdır.


7
WP & Word: Her ikisiyle de oluşturulan belgelerin çirkin
Aaron Digulla

Mathtype ile Word 2007, tex formatı oluşturabilir. Ve onu da alın.
Kale

4
Bu, kelimeyi diğer günahlarından gerçekten kurtarmaz - Word (özellikle), onu büyük teknik belgeler için kullanmayı biraz zorlaştıran birçok kusura sahiptir.
ConcernedOfTunbridgeWells

Html ve CSS, dizgi amaçları için giderek daha fazla kullanılabilir. Örneğin , html + css'yi pdf'ye dönüştüren açık kaynaklı bir yazılım için ileriye dönük baskıya bakın .
Johannes

QuarkXPress ve Adobe InDesign, TeX / LaTex'ten çok daha üstündür. Harekete geçme zamanı.
dns

20

ConTeXt'e bir göz attınız mı? LaTeX yerine kullanılabilen TeX için bir dizi makro.

Ben kendim kullanmadım ama örnek belgelerdeki sözdizimi bazı durumlarda LaTeX'ten daha basit görünüyor.


2
Çok kullanıyorum ve daha çok LaTeX'e tercih ediyorum. Mükemmel.
Ocak

14

ConTeXt'te dördü yüksek kaliteli renkli resimlere sahip müze katalogları olmak üzere dizilmiş beş kitap yayınladım. Kesinlikle üretime hazırdır.


11

TeX aslında oldukça özel amaçlı bir daktilo sistemidir. İyi yaptığı şeyi yapar, ancak daha iyi bir şeye yeterince büyük bir ihtiyaç yoktur. "Donald Knuth TeX'i tasarladığında, tek bir dizgi sisteminin herkesin ihtiyaçlarına uyacağına inanmadı" ( wikipedia )

"Yeni" sistemlerin çoğu guis oluşturur ve TeX'i genişletir, ki bunun doğru yaklaşım olduğuna inanıyorum.

Karşılaştığınız 'sorunlar' için çok iyi nedenler var, bu nedenle farklı bir şekilde yapılmasını önermek istiyorsanız, lütfen önce bu nedenleri araştırın.

İkincisi, TeX'in birkaç küçük kelime oyunu dışında harika olduğunu kendiniz belirtiyorsunuz. Knuth, tüm kullanımlar ve herkes için uygun olmayacağını açıkça bilerek oluşturdu, ancak kaynak kodunu yayınladı ve herkesin ihtiyaçlarına göre uyarlayabilmesi için bir uzantı API'si oluşturdu.

Önerdiğiniz değişiklikleri yapmak için ihtiyacınız olan tüm araçlara sahipsiniz ve TeX'i güncellemek, sıfırdan başlamaktan, hatta başka bir sistemi uyarlamaktan çok daha kolay olacaktır. Gerçekten, hiçbir şey TeX'e yaklaşamaz. Bu, en iyisi olduğu anlamına gelmez, sadece bahsettiğiniz tüm iyi şeyleri uygulamak ve bir şekilde kötülerin üstesinden gelmek için muazzam bir çaba olacağı noktasını eve götürmek için (gerçi kötüye gittiğinizde daha iyi anlayabilirsiniz) neden var).

Her şeye rağmen, umarım bir savunucu olarak bunu sürdürürsün ve başkalarının onunla ilgilenmesini sağlarsın. TeX'in diğer alanlarda kullanıldığını görmek harika olurdu, ancak bu kullanım kolaylığı için modifikasyon ve güncelleme ve matematiksel denklemlerden daha iyi bir diğer teknik varlık desteği gerektiriyor.

-Adam


"uzantı API'si"? Ha? TeX
kopyamda

@NormanRamsey: whatsits, API olarak adlandıracağım şey değil , ancak uzantı ile ilgili bilgileri motordan
geçirmek

10

TeX ve LaTeX çıtayı yükseltti; Tamamen yeni bir şeyin gelip bunların yerini alacağını hayal etmek zor.

Knuth'un Modern Bilgisayar Yazı Biçimlerinin bir kopyasına sahibim ( Bilgisayarlar ve Dizgi dizisindeki E Kitabı , TAOCP'den farklı olarak tamamlandığını düşünüyorum ). Pek çok insanın bu kitabı görebileceğini sanmıyorum ve - beni şımartın - gerçekten bakmaya değer. Kunth'un zamanının bir kısmının nereye gittiğini görebilirsiniz. İşte önsözden bir alıntı:

Monotype 8A'nın kalıplarını yapmak için kullanılan orijinal bronz desenlerin San Francisco'da olduğunu öğrendiğimde, 1984'te bir şans daha geldi. Yıllardır bu çalışmayı teşvik eden yazı tipleri hakkında dolaylı ve kesin olmayan bilgilerle çalışıyordum. İlk olarak The Art of Computer Programming'den tipo orijinal sayfalarının fotoğrafik patlamalarından çalıştım ; daha sonra Richard Southall, İngiltere'de bulduğu orijinal kanıtlardan genişlemeler hazırladı. Sonunda metal tipini oluşturan gerçek 80 yıllık kalıpları buldum. Bu kalıpların şu anki sahibi Sayın Othmar Peters, Computer Modern'in son taslağını hazırlarken onları ödünç almama izin verdi ve ben onları kumpasla ölçerek çok şey öğrendim.

Pek çok yerde detaylara bu kadar dikkat çekmiyorsunuz ve bu yüzden TeX dayanıyor.


9

Yeni bir şeyle "farklı hedeflere ulaşmak için birçok uzantıya sahiptir" tutamazsınız. Tanım gereği TeX / LaTeX olmayan yeni bir şey uzantı olmadan başlayacaktır.

"21. yüzyıl dışında TeX" gibi bir şey olmayı hedefleyen GNU TeXmacs projesine temel katkıda bulunanlardan biri olarak, LaTeX'in devamı hakkında bazı iyi fikirlere sahip olduğumu düşünüyorum.

Ufukta, LaTeX'i tahttan indirebilecek herhangi bir şeyin farkında değilim. Matematik topluluğundaki nüfuz sahibi insanlar, eşit derecede esnek olabilecek herhangi bir aracı öğrenmek için gereken çabayı ciddiye almak için LaTeX'i kullanmaya fazlasıyla alışkındır.

Belki 20 yıl içinde, LaTeX iyi olduğu zaman doktorasını alan herkes emekli olduğunda onun yerini başka bir şey alacak. Umarım, TeXmacs gibi bir şey olur, ancak gereksiz karmaşıklık olmadan.


3
"Belki 20 yıl sonra" ancak yarının öğrencileri şu anda tex'ten daha iyi bir araca sahip olursa gerçekleşecek. Halefi başlatmak için 20 yıla kadar beklersek, hepsi tex kullanıyor olacak ve 20 yıl daha geçecek.
Adam Davis

1
Sağ. Tavuk ve yumurta sorunu var.
ddaa

8
34 yaşındayım, doktora tezimi LaTeX kullanarak yazdım ve her gün kelime kullanmam gerektiğinde LaTeX'i tezim için kullanabildiğim için çok mutluyum ...
Gilles

Hey, "nüfuz sahibi insanlar" aslında çok daha demokratik düşüncelere sahipler ve başka bir iyi matematik dizgi sisteminde yazsanız sorun olmaz ... eğer bir tane olsaydı: ^)
ilya n.

LaTeX'in bazı yönleri (özellikle matematik notasyonu) muhtemelen önlenebilir bir gelecek için etrafta olacak. Ancak belgeler artık LaTeX tarafından değil, ConTeXt veya XML tabanlı biçimlendiriciler (muhtemelen LuaTeX gibi programları kullanacak) gibi sistemler tarafından yazılacak.
Martin Schröder

9

You have LuaTeX .

Alıntı: "LuaTeX, gömülü bir komut dosyası dili olarak Lua kullanan pdfTeX'in genişletilmiş bir sürümüdür. LuaTeX projelerinin ana amacı, TeX'in açık ve yapılandırılabilir bir varyantını sağlarken aynı zamanda aşağı doğru uyumluluk sağlamaktır."

Lua çok kolay ve hızlıdır, bu yüzden umarım LuaTeX artık o kadar zor olmaz ... umarım :)


LaTeX dünyasında perspektifte bazı değişiklikler var gibi görünüyor: yazı tipi oluşturma için XeTeX ve daha homojen dil yapılarına sahip utf8, ConTeXt. LuaTeX bunların hepsini birleştirirse ve daha hacklenebilirse, daha iyi bir LaTeX için parlak bir gelecek olmalı!
Piotr Lesnicki

1
@Piotr: Ama bağlamdır değil LaTeX ve amacı yoktur olmak LaTeX. Sanırım "TeX dünyasında" demek istedin.
SamB

7

LaTeX'in Unicode ve birçok yazı tipini desteklemesi bakımından modern bir versiyonu olan XeTeX de ilginizi çekebilir . Bunu, tek bir belgeye Japonca, Arapça vb. Doğrudan girmek için kullanabilirsiniz. (Bu, verdiğiniz dezavantajları ele almıyor, ancak yine de LaTeX'in eksiklikleri ve alternatif sistemler hakkındaki tartışmayla ilgili!)


3
Ben XeTex kullanılabilir (vb ama daha müdahaleci pdfTeX, Etex gibi) TeX, sadece bir başka yama olduğunu düşünmüş ile ... LaTeX
SAMB

2
tex / latex için yeni (ilk kez 1990'larda onunla uğraşmış olmama rağmen) burada; çocuk bu kendine özgü bir sistemdir. eski hissediyor. şu anda bunu çince / japonca / korece / ingilizce çok dilli bir kitabı dizmek için kullanmaya çalışıyorum ve eğer 'unicode' (yani US-ASCII dışında herhangi bir şey) içindeyseniz, şimdiki fikrim XeTeX'in (XeLaTeX) en iyisidir. seçim. dedi, hala acı verici. ama hey 2013'te true type'ı şu şekilde kullanabilirim: \usepackage{fontspec} \usepackage{xeCJK} \newCJKfontfamily\hiraganaFont[Path=/home/flow/own/resources/fonts/]{KozGoPro-Heavy.otf}(sonda eğik çizgi yok -> boom)
akış

7

www.patoline.org , TeX / LaTeX sistemlerine harika bir alternatiftir. Zaten Arch Linux, NixOS için paketlenmiştir ve birçok Unix benzeri sistemde kaynaktan derlenebilir.


Arch paketi kaldırıldı mı? Resmi depolarda veya AUR'da adı "patoline" olan herhangi bir paket bulamıyorum: /
Ponkadoodle

Evet, bir nedenle kaldırıldı. Patoline hala geliştirme aşamasında olduğu için onu oraya geri koymayacağım. Patoline'ı kurmanın mevcut en iyi yolu GitHub'da ( github.com/patoline/patoline ) açıklanmıştır .
Rodolphe Lepigre

6

TeX, genel amaçlı bir dizgi sistemi değildir: temel uzmanlığı, uzun metinleri çok fazla matematikle dizmektir. Herhangi bir rekabeti olmadığı için birkaç neden düşünebilirim:

  • Donald Knuth akıllıydı. Örneğin formüllerde boşluk bırakarak harika bir iş çıkardı.
  • Matematik notasyonu, yüzyıllar gibi zaman dilimlerinde değişir. Gerekli olan sınırlı sayıda özellik vardır ve bu nedenle yeni dizgi sistemleri için pazar yoktur.
  • Ağ etkileri. Kağıdın tek amacı okunmaktır. Çoğu makale, diğerlerinin araştırmalarında ilerler ve onların gösterimlerini kullanır. TeX ile aynı yazı tiplerini ve aynı aralığı elde ettiğinizden ve karmaşık formülleri kağıtlarından kopyalayabileceğiniz teknik bir yeteneğe sahip olduğunuzdan emin olursunuz.
  • TeX'te yeni makro tanımlamak önemsizdir, genellikle basit bir makroların tanımından ne yaptığını söylemek kolaydır ve birçok standart makro kütüphanesi vardır. GUI tabanlı herhangi bir sistem muhtemelen bu işlemi çok daha az şeffaf hale getirecektir.

Alıntı yaptığınız dezavantajlar gerçek olsa da, TeX'in üzerine inşa edilmiş iyi bir düzenleyici / GUI kabuğu aramak, farklı bir dilde dizmek yerine çok daha kolaydır. Matematiğe meraklıysanız ve makalelerinizin on yıllarca korunmasını istiyorsanız, yani. Genel amaçlı dizgi için, yine bahsettiğiniz programlar daha iyi bir seçim olabilir.


"Alıntı yaptığınız dezavantajlar gerçek olsa da, TeX'in üzerine inşa edilmiş iyi bir düzenleyici / GUI kabuğu aramak çok daha kolay": veya TeX'i son oluşturma aşaması olarak kullanın ve içeriği anlamsal biçimlendirme gibi başka bir şekilde düzenleyin (örn. MathML, DITA ve benzeri).
Hibou57

Hmm, 'WYSIWYG dizgi sistemlerine kıyasla' diyelim.
ilya n.

6

Bir Emacs uzantısı olan org modu, LaTeX ve PDF dosyaları oluşturabilir. org modu sözdizimi Markdown'a benzer. Sadece okunabilir . 20KB belgesinin içinde yalnızca birkaç LaTeX kod satırı vardır. org modu bahsettiğiniz üç sorunu çözer - LaTeX'in tüm harika özelliklerini alırsınız ve çirkin sözdiziminden kurtulursunuz.


6

DREAM ARACI TEX DEĞİL

TEX ile çalışmak harika değil. Tex, muhtemelen (baskı konularında uzman değilim), belgeyi baskı ayrıntılarından ve karmaşıklıklarından ayıran bir katman sağlamak için iyidir.

Kavramsal çizgi şudur:
Bir matematikçi sekreter değildir, asıl kaygısı onu NASIL göstermek değil , NEYİ göstermek istediğidir . Bu nedenle, Lateks'in üzerinde bir soyutlama katmanı daha gereklidir.

Genel hedef :
Dolayısıyla, elle yapabileceklerimize çok daha yakın ve elbette elden daha hızlı olmasını sağlayan bir araca ihtiyaç vardır (bir rüya) (aslında bir keresinde .pdf'de taranan yazılı bir cevabın kırmızıyı yakaladığını gördüm. Lateks'in ana yazarlarından birini kullanmamak için elinden aldı!).

Dream Tool özellikleri : (fikir edinmek için kabaca)
S1. Öğrenme eğrisinde yaklaşık bir saatlik başlangıç ​​zamanı.
S2. Yorgunken bile hızlı bir şekilde (basit benzetme ile) bir belge yazmaya izin verin.
S3. Görülen formülün kesip yapıştırılması mevcuttur.
S4. Bir belgeyi elle düzeltmekten daha hızlı düzeltmek için (elle 5 yerine 2 dakika).

Günümüzün en iyi araç yetenekleri :
S1. Aynı sayılır.
S2. Başka bir şey düşünürken imkansız.
S3. Formül açıklamasını kesip yapıştırın (uygulama).
S4. El ile 5 yerine 20 dakika sürer (ileri geri deşifre etmeniz gereken her şey özeldir).

Bir başka tembellik örneği: Kategori teorisinde 10 diyagram içeren bir lateks belge yazan birinden tüm kareleri eğimli bir şekilde çizmesini isteyin, kesinlikle hızlı bir iş değil.


2
Bazı matematikçiler, gösterimleri konusunda gerçekten seçicidir ve yalnızca üst düzey araçlar istediklerini sağlayamaz. (Ayrıca, WYSIWYG acı verici olabilecek tüm o gizli duruma sahiptir.) TeX'in şimdiye kadarki en iyi olası şey olduğunu veya herhangi bir şey olduğunu, hatta bu kadar harika olduğunu söylememekle birlikte, paradigmanızın nasıl varsayıldığından emin değilim. gerçekten daha iyi olmak için ...
SamB

Bu gönderi sorunun cevabı değil ama buna katılıyorum!
nimcap

Bu sayfanın başka bir yerinde hsk81, LaTeX'i temel biçimlendirme dili olarak reStructuredText'i daha fazla kullanarak (La) TeX'i ve LaTeX işaretlemenizi başka bir yere yazabilmeniz için bazı kalıp eşleme (makro?) Dilini kullanan NoTex'ten bahseder. TeX ile ilgili en büyük sorunum, özellikle metni okurken ve yazarken hatırlatılmasını istemediğim bir şeyi yapması için cümlelerime kelimeler koymam gerektiğidir.
Henk Poley

Cevap değil. İyi ifade edilmiş bir nokta, ancak yanıt değil. Yorum koymak için çok büyük, ancak bir yanıt değil.
Lyndon White

5

Bunca zamandan sonra kimse çok önemli bir şey söylemedi.

LaTeX metinleri bir metin dosyasına yazılır, çok iyi belgelenmiş programlar yazmak için Don Knuth tarafından önerilen bir stil olan Okuryazar programlama için kullanılabilir . Buradaki fikir, programın nasıl geliştirildiğini matematik metnine benzer bir şekilde açıklamaktır. Matematiksel metinlerde kod parçaları formüller gibi sunulur. Bu harika bir fikir, bir süre sonra programın nasıl tasarlandığını okuyabilir ve kararın neden aynı şekilde alındığını açıklayan bölümleri değiştirebilirsiniz.

Diğer bir avantaj, programlarınızın bir çıktısı olarak LaTeX kodunu oluşturabilmenizdir , bu şekilde sonuçlarınızı güzel bir şekilde dizgi olarak yayınlayabilir veya grafikler oluşturmak için gnuplot gibi programları kullanabilir, ardından grafik için LaTeX kodu oluşturabilir ve metninize ekleyebilirsiniz. Bu harika çünkü ortaya çıkan dosya, bazı görüntü formatlarına dışa aktarılan grafiklere kıyasla çok hafiftir, \includegraphicsyapıştırarak bir kelime işlemci kullanıyorsanız dahil etmek veya daha kötüsü.

LaTeX'i öğrenmek gerçekten zor değil, sadece hızınızı alın, basit belgelerden başlayarak ihtiyacınız olanı kullanın. Çalışmalarınızda ilerlediğinizde yeni özellikler ve paketler öğrenmeniz gerekecek. Sadece bir LaTeX uzmanı olmak için tüm paketleri öğrenerek LaTeX'te ustalaşmaya çalışırsanız, zamanınızı boşa harcarsınız, çok sayıda paket vardır, ancak hepsini öğrenmenize gerek yoktur. " LaTeX'e çok kısa olmayan giriş" lshort.pdf veya " TeX'e Nazik Bir Giriş " gentle.pdf gibi kılavuzlarla başlamaya çalışın. Uzun makrolar yazmaktan sıkıldıysanız, daha çok kullandığınız parçalar için kendiniz yazmayı öğrenin, kılavuzlarda bununla ilgili bir bölüm var.

Nerede, ctan.org, tug.org bilgiyi bulmak yok alanı kauçuk malzeme için durduğu latex.com içinde arayın.

Bir TeX / LaTeX Kataloğu var, ctan.org'da arayın, özel bir özelliğe ihtiyacınız olduğunda çok yardımcı olur. Burada http://texcatalogue.sarovar.org/index.html bulabilirsiniz , ancak bu bağlantı eskimiş olursa texcatalogue'da arama yapabilirsiniz.

Yorumumu bitirmek için, LaTeX ve diğer yazılımların sürümleri sık sık değiştirmemesi büyük bir avantaj var, TeX / LaTeX dizgi için çok eksiksiz bir sistemdir, mevcut olmayan bir şeye ihtiyacınız varsa daha fazla özellik ekleyebilir (ve paylaşabilirsiniz). . LaTeX'i öğrenmek iyi bir zaman yatırımıdır, sadece bir kez öğrenmeniz ve ardından yeni sürümü öğrenmeye değil, kendinizi işe adamanız gerekir.

PS Ben (belgelenmiş ve eğer kelime işlemciler formatları) diğer biçimleme dilleri, LaTeX çevirmek için yazma programlarına mevcuttur ve söylemek unuttum tersi. Aslında, kabul edilebilir sonuçlar veren birkaç tane var, ancak bildiğim kadarıyla henüz herhangi bir LaTeX kodunu çeviren bir program yok, ancak daha yaygın metinler için bunları HTML'ye çevirmek için birkaç program bulabilirsiniz, LibreOffice bir kelimeyi dışa aktarabilir İşlemci belgesini LaTeX'e aktarın, ancak çok az kelime işlemci kullanıcısı paragrafları başlık, alıntı vb. olarak işaretlemek için etiketleri kullandığı için çok kullanışlı olmasa da büyük çoğunluğu yazı tipini, boyutunu, hizalamasını vb. değiştirmek için metni işaretler ve bu tercüme edilir. LaTeX'e. Ancak kelime veya LibreOffice kullanan kişilerle işbirliği yaparken bunu yapmanız gerekebilir ve bunu LaTeX metninizle entegre etmeniz gerekir, sadece onlardan doğru işaretleri kullanmalarını veya metin olarak dışa aktarmalarını ve gerekli makroları manuel olarak eklemelerini isteyin. ortak çalışanınızın tüm metnini gözden geçirmeniz gerekir.

Bir zamanlar ağda yayınlamak veya taşınabilir sunumlar yapmak için bunu HTML'ye çevirmeniz gerekiyordu, ancak şimdi bant genişliği PDF dosyalarının hızlı bir şekilde aktarılmasına izin veriyor ve beamer gibi paketler, çok güzel sunumlar yazmanıza izin veriyor.

TeX / LaTeX'in avantajları, üzerine yazılabilen paketlerin büyüklüğü ve bunları paylaşma iradesi olmasıdır. Knuth'a harika fikirleri için teşekkürler, hala onun Hesaplama Sanatı Programlama'nın tüm setini bekliyoruz.


1
"Yorumumu bitirmek için, LaTeX ve diğer yazılımların sürümleri sık sık değiştirmemesinin büyük bir avantajı var": evet, ancak maalesef gerçek dünyada büyük bir sorun olan Unicode farkında olmaması dışında. Temel olarak, onunla ilgili en büyük kederim bu.
Hibou57

1
"Harika fikirleri için Knuth'a teşekkürler, hala onun Hesaplama Sanatı Programlama'nın tüm setini bekliyoruz": bitmedi mi? Ne kayıp?
Hibou57

@ Hibou57 Sadece bilgi için, hem XeTeX hem de (sanırım) LuaTeX Unicode girişi bekliyor. İkincisi, pdfTeX'in yerini alıyor.
Norman Grey

4

Bence docbook lateks için açık bir xml tabanlı yedek olması gerekiyordu.

"DocBook, SGML veya XML kullanarak yapılandırılmış belgeler yazmak için bir sistem sağlar. Bilgisayar donanımı ve yazılımı hakkındaki kitaplara ve makalelere özellikle çok uygundur, ancak hiçbir şekilde bunlarla sınırlı değildir.

"Kısacası, DocBook anlaşılması kolay ve yaygın olarak kullanılan bir DTD'dir. Düzinelerce kuruluş, tüm dünyada çeşitli basılı ve çevrimiçi formatlarda milyonlarca sayfa dokümantasyon için DocBook'u kullanıyor."

- Doküman kitabından SSS


7
LaTeX'in bir dezavantajının çok fazla yazmak olduğunu ve alternatif olarak bana XML tabanlı bir dil sunduğunu söylüyorum. Docbook'un avantajları var ama ben docbook kaynaklarını başka bir şeyden oluşturmayı tercih ediyorum.
Mnementh

2
Bir kitap veya belge yazmaya çalışmak için, docbook'u yenemezsiniz. Bu, dizgi için olan TeX'ten farklı bir alandır ve TeX matematik yazımı için harikadır, ancak düzyazı için bu xml tabanlı format daha iyidir.
Karl

2
Shmeh, sadece bir teklifti. İsterseniz küçümseyin.
vfilby

1
LateX'te yazmaya alışkın olanlardan DocBook'a gerçekten büyük bir sıçrama olmamalı. DocBook'un başka bir şeyden oluşturulması gerektiğine katılmıyorum; DocBook ile aynı derecede anlamsal ifadeye sahip başka ne var? (LateX'in yanında tabii ki :)
Alastair

1
DocBook, belgeleri dizmek için değil yapılandırmak içindir. Aslında baskı için belgeler oluşturmak için muhtemelen TeX kullanıyor.
Damien Pollet

4

Grafiklerin konumlandırılması zor olmasının yanı sıra, LaTeX'e yönelik diğer eleştirileriniz daha çok kullanıcı arayüzü veya eksikliği ile ilgilidir.

Belgelerinizi üretmek için LaTeX'i kullanmak istiyor ancak daha kolay bir kullanım yolu istiyorsanız, o zaman LyX'e gerçekten göz atmalısınız. Bu, LaTeX için bir GUI ön ucu ve sorunlarınızın birçoğunu ele alıyor: LaTeX'i öğrenmeyi kolaylaştırıyor (aslında basit, matematiksiz bir belge oluşturmak için LaTeX'i bile bilmenize gerek yok), daha sezgisel ve tasarruf sağlıyor yazıyorsun. Ayrıca yazım denetimi, daha iyi grafik işleme, gezinme ve daha fazlasını ekler.

LyX, LaTeX'in yalnızca bir ön yüzü olduğu için, yine de güzel bir şekilde sunulan belgeler alırsınız. LyX belgeleri de düz metin olduğundan sürüm kontrolü iyi çalışır. Aslında, LyX yerleşik olarak yıkım için desteğe sahiptir.

Henüz tahmin etmediyseniz, LyX'i yürekten tavsiye ederim. Tüm doktora tezimi kullanarak yazdım ve çok değerli buldum.


1
İyi bir metin düzenleyici kullanmakta gerçekten bir sorunum yok. Bahsettiğim avantajlardan biri teX belgeleri için metin tabanlı formattır. Bir kullanıcı arayüzüne ihtiyacım yok, ancak bazen daha net, daha basit bir sözdizimi diliyorum.
Mnementh

4

Bu, LaTeX'in ana dezavantajlarını gerçekten kesmiyor, ama ne olursa olsun :) Konunuzla ilgili olarak

  • "bazen çok fazla yazmanız gerekir ({itemize} ile başlayın ... \ end {itemize})"

bu tamamen tasarım gereğidir. Kısa (ve yazması daha kolay) ile anlaşılabilir (ve yazması daha uzun) arasında bir denge vardır. TeX ve LaTeX ad alanlarını desteklemediğinden (maalesef) daha uzun adlarda daha az çarpışma vardır.

Her neyse, iyi bir editör yukarıdaki şikayeti ortadan kaldıracaktır. Anahtar bağlamaları veya sekme tamamlamaları veya istediğiniz her şeyi ayarlayın ve asla yazmak zorunda kalmayacaksınız

\begin{whatever}...\end{whatever}

asla.


3

Sizin dört dezavantajınız "Çok zor", "Çok zor", "Çok zor" ve son olarak "Çok zor" olarak özetlenebilir. Bence çözüm, sistemi nasıl doğru kullanacağımızı öğrenmektir.

Acemi için tasarlanmış herhangi bir sistem, başka şekillerde eksiklikler, kontrol kaybı veya esneklik kaybı gösterecektir. Görüntüleri yerleştirmenin daha kolay olmasını istiyorsanız MS Word'ü deneyin. Programı öğrenme çabası olmadan basitliğin etrafından dolaşmanın yolu yok. TeX, tanım makrolarını destekler, böylece bu \ begin {itemize} etiketini, isterseniz \ bi gibi daha lezzetli bir şeye değiştirebilirsiniz. LaTex dünyasının köşesini yeterince öğrendikten sonra, bu normal yazmak kadar hızlıdır.

Bir matematik dersinde TeX ile yazarak not alma alıştırması yapardım, çünkü \ sum_ {n = 1} ^ i dilinde yazmak MS Word'deki sembolleri bulmaya çalışmaktan daha hızlıydı.


4
Görüntüleri yerleştirmek, MS-word için biraz talihsiz bir örnek seçimidir; -}
ConcernedOfTunbridgeWells

O kadar zor olduğundan emin değilim. Ancak çok fazla mevcut belge ve kullanıcı var, LaTeX paketlerinde çok fazla işlevsellik var ve temel teknolojiler o kadar iyi belgelenmemiş ve hatta standartlaştırılmamış (yazı tipi formatları ...). Bunu çoğaltmak için gereken iş miktarı çok büyük ve bunu üstlenmek için yeterli ihtiyaç ya da yetenekli birey yok. Ama LuaTeX'in evrim için güzel bir yol olduğuna inanıyorum.
Damien Pollet

... MS word / openoffice'e resim yerleştirmek benim görüşüme göre lateks kadar kötü ... Önceden yazılmış bir belgeye kelime ve açık ofis olarak bir sürü grafik koymaya çalışıyordum ... Tanrım, ne büyük bir zaman kaybı . En azından lateksin neler yapabildiğini ve bunun etrafında çalışabileceğini biliyorum. Sanırım o kadar iyi kelime / oo bilmiyorum.
Mika

Görüntüleri yerleştirmek, LaTeX'in MS Word'den daha iyi yaptığı şeylerden biri , görüntülerin burada bir yerde olmasını isteyenler için . MS Word'ü teknik bir belge için kullandığım her seferde, MS'in LaTeX'in sahip olduğu gibi kayan noktalara destek eklemeyi nasıl başaramadığını merak ediyorum!
SamB

Çok zor değil. LaTeX, Markdown gibi insan tarafından okunabilir sözdizimine kıyasla yalnızca bir PITA'dır.
Nowaker

3

XSL-FO ihtiyaçlarınızı karşılayabilir. TeX kadar güçlü olmasa da, DocBook gibi XML formatlarıyla iyi çalışır. Popüler bir açık kaynak uygulaması Apache FOP'tur: http://xmlgraphics.apache.org/fop/ .

Tipografi üzerinde çok ince kontrole ihtiyacınız varsa, TeX veya FrameMaker veya InDesign * gibi tescilli bir araçla daha iyi durumda olursunuz.

* dikkat: InDesign'da şu anda zayıf XML desteği IMO var


Daha önce hiç kimsenin XSL-FO yazmanın gerçekten yararlı olabileceğini öne sürdüğünü duymadım!
SamB

yikes! götür onu !!
akış

XSL-FO büyük bir vaatte bulunuyor. Bugün, güncel bir pandoc ve fop yapısıyla, süreçte huysuz TeX makrolarıyla boğuşmak zorunda kalmadan ReST'den (veya Markdown veya her neyse) Docbook'tan XSL-FO'ya PDF'ye dönüştürebilirsiniz. Bu, XML'de herhangi bir içerik yazmayı gerektirmez.
Kevin Thibedeau

3

Basit bir metin biçimlendirme dili (á la markdown, tekstil) gibi görünen AsciiDoc'a rastladım , ama çok daha güçlü. Kabaca DocBook ile eşdeğerdir, bu nedenle daha fazla işlem için html, pdf ve hatta docbook xml yayınlayabilir.



2

Gerçekte bir halef değil, ancak * roff'a (groff, troff, nroff) bakmak isteyebilirsiniz. Hakkında pek bir şey bilmiyorum ama formatının kısa olduğunu hatırlıyorum. Man sayfaları için kullanılan araçtır. Bunu sadece geçerken duyduğum için, sana daha fazla yardım edemem.

Örneğin:

        .pl 10.0i
        .po 0
        .ll 7.2i
        .lt 7.2i
        .nr LL 7.2i
        .nr LT 7.2i
        .ds RF FORMFEED[Page %]
        .ds LH Internet Draft
        .\"   --> Header/footers: Set short title, author(s), and dates:
        .ds CH 2-nroff.template                  \" <Short title>
        .ds LF Postel, Braden                    \" <Authors>
        .ds RH October 25, 2006                  \" <Submission date>
        .ds CF Expires April 2007                \" <Expiration date>
        .hy 0
        .ad l
        .nf
        .\" 5678901234567 check 72 column width 12345678901234567890123456789012
        Internet Draft                                                 J. Postel
        <draft-rfc-editor-nroff-template-00.txt>                      RFC Editor
        Category: Informational                                          USC ISI
        Expires April 2007                                      October 25, 2006

        .ce
        Nroff Template for Internet Drafts and RFCs
        .ce
        <draft-rfc-editor-nroff.template-00.txt>

        .in 3              \"  Basic indent for text is 3 spaces
        .ti 0              \"  "Temporary indent" for next line: 0 spaces
        Status of this Memo

        Distribution of this memo is unlimited.

        By submitting this Internet-Draft, each author represents that any
        applicable patent or other IPR claims of which he or she is aware
        have been or will be disclosed, and any of which he or she becomes
        aware will be disclosed, in accordance with Section 6 of BCP 79.

        Internet-Drafts are working documents of the Internet Engineering Task
        Force (IETF), its areas, and its working groups. Note that other groups
        may also distribute working documents as Internet-Drafts.

        Internet-Drafts are draft documents valid for a maximum of six months
        and may be updated, replaced, or obsoleted by other documents at any

11
Selefi değil, halefi istedi ;-) [* Roff'ların sahip olduğu "pazar" ne olursa olsun - yönetim sayfalarının ötesinde - artık tamamen TeX'lere aittir.]
ShreevatsaR

Daha fazla anlaşamazdım, LaTex ve DocBook tercih edilen silahlar, ancak bunu vermeniz çok kısa. Ve daha az yazmak istedi.
vfilby

Troff'u ne kadar sevsem de, TeX / LaTeX'in halefi olduğunu düşünmüyorum.
Jonathan Leffler


2

Teknik olarak Sphinx , LaTex'in yerine geçmez, hayatınızı kolaylaştıracak ve (istenirse) sizin için PDF (LaTex aracılığıyla), HTML veya düz metin çıktısı oluşturan bir şeydir.

Çoğunlukla kod belgelerine yöneliktir, ancak reStructuredText'i kullanması nedeniyle , insanlar kitap yazmak da dahil olmak üzere başka amaçlar için çalışmayı daha kolay buldular .


İle rinohtype , Sfenks bir LaTeX kurulumu için gerek kalmadan PDF çıktısını üretebilir.
Brecht Machiels

1

Belki de TeX'in garip sürüm numaralarını fark etmişsinizdir. TeX sürüm 3'e ulaştığında Knuth, TeX'in çoğu yazılımın yaptığı gibi yeni sürümlere geçmesini istemedi. Bunun yerine son ve hatasız bir TeX'e yakınsamasını istedi. Dolayısıyla, sürüm numarası şimdi matematiksel sayı pi'ye yakınsar. Sürüm 3'ten sonra sürüm 3.1, ardından 3.14 ve mevcut sürüm 3.1415926'dır.

Benzer bir şekilde Metafont, matematiksel e sayısına (şu anda 2.718281) yakınsayan bir versiyona sahiptir.

Buna dayanarak, sorunuzun cevabı, Knuth'un TeX'in TeX sürüm 4'e dönüşmesini istemediğidir.


3
Biliyorsunuz, The Art of Computer Programming kitabının yazarının aslında tek notasyonla sürüm numaraları yapması garip görünüyor .
David Thornley

@DavidThornley: http://www-cs-faculty.stanford.edu/~uno/abcde.html adresinde bulunan amaçlanan bakım programını düşünürseniz o kadar da garip değil ...
SamB

1

Belirli işler için araçlar:

Latex2e'nin gücü, makale ve kitapların temsili için iyi olan standart bir belge hazırlama ve temsil dili olmasıdır. Bununla birlikte, dizgi için gerçekten harika değil. Bu kötü bir şey değil: erken biçimlendirme, tüm dizgi kötülüğünün köküdür: çoğu yayıncı, yazar biçimlendirmesini kopya düzenleme işleminin başlangıcında atar.

Bağlam, dizgi için süperdir; bir belge temsil dili olarak Lateks ile rekabet edemezler, çünkü belge hazırlama / düzenleme aşamasında çözülmesi gereken herhangi bir sorunu gerçekten çözmez, bu nedenle kimsenin köklü lateksten değişmesi için bir neden yoktur.

Latex2e'nin önemsiz yayınlama kusurlarını Latex3 çalışmasıyla düzeltmek yerine, aşağıdaki iş akışını geliştirmek için çaba harcanmasını tercih ederim:

  1. Belge hazırlama: Latex2e
  2. Kopyalama düzenleme: Latex2e
  3. Dönüşüm: Latex2e almak için aracı uygulayın -> Bağlam
  4. Dizgi oluşturma: Bağlam
  5. Düzeltme: Latex2e içeriğini Bağlam içeriğine göre kontrol etmek için aracı kullanın

Postscripts

  1. Yukarıdaki iş akışı, yazma / düzenlemenin Word'de yapıldığı ve dizginin Indesign veya Quark Xpress kullanılarak yapıldığı normal iş akışıyla hemen hemen aynıdır.

hata ... neden yazarlara ConTeXt'i doğrudan kullanmayı öğretemiyoruz (ve kendimizi öğrenemiyoruz)? Bu tür bir dönüşüm adımının ne kadar eğlenceli veya yararlı olacağını
görmüyorum

1
@SamB: Öğretimi kim yapacak? Lateks'te makale sunan on binlerce bilimsel yazar var. Bir yayıncı, gönderileri için tamamen farklı bir biçimlendirme dili kullanmalarını söylerse, yazarlar nasıl tepki verecek? Latex'in bilimsel yayıncılığın dili olarak Context tarafından yerinden edilme tehlikesi altında olduğunu düşünmüyorum. Söz çok daha büyük bir tehdittir.
Charles Stewart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.