1

In the past, I've given up learning LaTeX because:

General

  • Installing and using fonts is a pain.
  • Simple things like custom page headers are insufferably hard to implement.
  • Documentation for the above items is incomplete.
  • LaTeX shows 10 errors for every 1 SLOC, so the code is impossible to debug.
  • So many errors that I feel like my code will never compile.
  • It's a pain having to scroll/find a previewed page every time I update it.

Cross-compatibility

  • Code that compiles in LyX doesn't compile in TeXnicCenter/MiKTeX.
  • Code that compiles in TeXnicCenter/MiKTeX doesn't compile in TeXShop/MacTeX.
  • Code that compiles in TeXShop/MacTeX doesn't compile in LyX.
  • Specifically, adding newlines breaks compilation.

Systems

  • TeXShop/MacTeX requires 1GB of hard drive space.
  • TeXShop has no Windows or Linux version.
  • TeXShop has few graphical abilities. I would do better with vi or emacs.
  • TeXnicCenter has no Linux or Mac OS X version.
  • TeXnicCenter updates references such as table of contents and BibTeX every three compiles.
  • TeXnicCenter compilation shortcut requires four button presses on a Mac laptop.
  • LyX's WYSIWYG isn't really a WYSIWYG.

I was able to quickly learn Perl, Python, Ruby, newLISP, and Haskell because they don't have these problems. Instead, these languages offer:

  • A single multiplatform, standard edition.
  • Alternative editions for the minority of users who really need them.
  • A small collection of binaries: perl, cpan; python, pythonw; ruby, irb, rdoc; newlisp; ghc, ghci, runghc, hugs, runhugs.
  • All-in-one installers: ActiveState Perl, Python, RubyInstaller, newLISP, Haskell Platform.
  • Small installation size (with the exception of GHC Haskell vs Hugs)
  • Detailed tutorials with solutions for common errors.

In conclusion, I reserve judgment on TeX/LaTeX until the community not only produces a multiplatform system, but champions it in a highly visible way. LyX isn't even mentioned at Obtaining LaTeX.

Johannes_B
  • 24,235
  • 10
  • 93
  • 248
mcandre
  • 911
  • 3
    This is a rant why you do not want to use LaTeX, not a question. So, what exactly is your question? – Caramdir Aug 10 '10 at 15:21
  • 1
    TeX Live requires 1GB of hard drive space. Light installs don't. – Charles Stewart Aug 10 '10 at 15:22
  • 1
    TeX Live has no Mac OS X version. It installs just fine. – Charles Stewart Aug 10 '10 at 15:22
  • 1
    First of all, TeX/LaTeX is not a "text editor". Secondly, you cannot compare TeX, a document preparation system, with programming languages. They are entirely different beasts all together. To give an analogy, what you are saying is equivalent to saying that HTML is a bad text editor because creating a three column layout in CSS that works on all browsers is difficult. Also note that non of the programming languages that you mentioned install any text editors (TeXnicCenter, TeXShop, etc) or an IDE (that is what I will call LyX). Finally the large size of TL is due to fonts and docs. – Aditya Aug 10 '10 at 15:24
  • You shouldn't expect to be able to import just any Latex document into LyX, but the other "cross-compatibility issues" are fair enough. You can findsample documents where documents that compile under Texlive 200X don't under Texlive 200Y. Package requirements change, bugs creep in, and bug fixes introduces problems of their own. What's the alternative? MS Word has had similar issues over the years. – Charles Stewart Aug 10 '10 at 15:27
  • 1
    Please post the specific problems you're having (e.g. compilation in the various systems, errors you're getting for custom headings, ...) – Roman Plášil Aug 10 '10 at 15:27
  • 1
    Caramdir, ranting is not my intention. I merely chose to explain myself fully. I have high hopes for TeX and would like to see it become easy to install, learn, and use. – mcandre Aug 10 '10 at 15:27
  • Aditya, TeX is turing complete. A coder even won an honorable mention at an ICFP contest for his LaTeX code. – mcandre Aug 10 '10 at 15:29
  • 1
    Charles, MS Word offers a standard, multiplatform documentation system for DOC and DOCX files. It's not free, and it's not perfect, but at least it's inviting and easy to learn. – mcandre Aug 10 '10 at 15:31
  • 1
    I've voted to close as "not a real question". If your title is the question, please consider actually putting it in the body of your question and turning your rant into a list of things that you would require to consider a "system" (whatever that is) to be truly cross-platform. Some idea of why you would want a cross-platform system for LaTeX would be nice as well. – Andrew Stacey Aug 10 '10 at 15:32
  • 2
    TeXlive does not require 1 GB. The ‘full’ scheme does, not you can install light or medium schemes instead, and then use tlmgr to install any additional packages individually. – frabjous Aug 10 '10 at 15:32
  • Andrew, why indeed? Because it's a royal PITA to use one system on one computer and another on the other. Because I think it's unprofessional to release my TeX code if it won't compile with MiKTeX and MacTeX. I do not want to start a flame war. I just want my question answered. – mcandre Aug 10 '10 at 15:37
  • 4
    That TeX is turing complete is beside the point - it has a very different purpose. But please do post (maybe as a new question?) the issue you've had with code not compiling under MacTeX. Except for missing (or different versions of) packages, I've never had any issues compiling under different platforms. Likely that issue is fixable.

    (PS: Last I checked, MS Word does not run on Linux, so I'd hardly call it 'multiplatform'...)

    – Neil Olver Aug 10 '10 at 15:39
  • @mcandre: "release my TeX code"? Are you planning on going from newbie to package writer in one fell swoop? Why do I need to see your code to read your documents? Send me the PDF! And if you don't want to start a flame war, please consider rewriting your question with a less flammable tone. – Andrew Stacey Aug 10 '10 at 15:48
  • MS Word ... easy to learn - Hmm. I've been learning it for six years, and I still frequently encounter problems and behaviours that I cannot explain without help. Not fair to compare the time I've put in that with the 20 years I've put into Tex, but it's only easy to learn if you don't use much of the software. – Charles Stewart Aug 10 '10 at 15:48
  • The answer by Sharpie shows it and some research could have easily shown it before asking this question that most of the statements just don't hold true and some of the disadvantegs claimed are just trolling. – matth Nov 11 '11 at 09:15

5 Answers5

24

I am glad you are still willing to give TeX a shot! The learning curve can be steep, but hopefully this site can help. There are already answers for most of the points you raised:

Installing and using fonts is a pain.

This can be difficult- but package management tools like TeX Live's tlmgr amd MikTeX's mpm can take most of the pain away. The LaTeX Font Catalouge is a great place to see which fonts are available and how to use them.

TeX and LaTeX are moving towards tighter integration with system fonts through the efforts put into the XeTeX and LuaTeX engines. See the fontspec package for details on how to use those engines to access system fonts.

Simple things like custom page headers are insufferably hard to implement.

There are packages and class files that simplify this considerably. The fancyhdr package is a good choice and the memoir document class has comparable support baked-in.

Also see, How to set the font for a section for similar discussion concerning section and chapter headings.

LaTeX shows 10 errors for every 1 SLOC, so the code is impossible to debug.

Most of the output of TeX and LaTeX consists of notes about where the typesetting engine was forced to make sub-optimal decisions in order to produce a document that is better overall. All the noise about "badness" is related to this- badness is a metric that TeX tries to optimize to a minimum when typesetting. See Formatting the console output of Latex for information about how to reduce the verbosity of the log output.

It's a pain having to scroll/find a previewed page every time I update it.

A good editor should help with this.

Code that compiles in LyX doesn't compile in TeXnicCenter/MiKTeX.

This is most likely because LyX code is not LaTeX code- it won't compile outside of the LyX environment unless exported. This also means that LaTeX code won't compile in LyX unless imported or transcribed.

Code that compiles in TeXnicCenter/MiKTeX doesn't compile in TeXShop/MacTeX.

Probably due to missing packages- tlmgr and mpm should help with this. mpm is more helpful with on-the-fly installation of missing components.

TeXShop/MacTeX requires 1GB of hard drive space.

This is for the full everything-including-the-kitchen-sink install. You can select subsections when installing via the install-tl instructions are here. See also Why is the MacTeX distribution so large? Is there anything smaller for OS X?.

TeXnicCenter updates references such as table of contents and BibTeX every three compiles.

This is by design in LaTeX. To get a complete Bibliography with references you must run:

pdflatex document
bibtex document
pdflatex document
pdflatex document

This is because TeX writes out metadata about cross-references that gets used to enhance the output on subsequent runs:

  1. On the first pdflatex run, information gets written concerning which citations are needed.

  2. bibtex uses that information to pull the required citations from a database.

  3. pdflatex then uses the bibtex output to produce a bibliography.

  4. With a bibliography present, pdflatex can finally insert citations in the text.

See Tools for automating document compilation for ways to make this less of a chore.

LyX's WYSIWYG isn't really a WYSIWYG.

It is not supposed to be.


TeX-based systems do have a pile of quirks and "WTF moments" but compared to systems like MS Word you usually only have to jump these hurdles once. If I want to reuse a nicely formatted header/footer that I had in a document- I only have to open the source to find the exact steps that were executed to create them. And if there were "WTF issues" or "magic", I usually have a good comment explaining why part of the process looks like voodoo. Comparatively, I still waste a lot of time in MS Word with similar tasks because there is no good way to record in black and white the exact sequences of menu selections and clicks that led to a given output.

TeX requires a larger up-front investment of time to get comfortable with, but pays large dividends and your investment in learning the system will not be suddenly and drastically depreciated as was the case with the complete overhaul that occurred in MS Office 2007.

Sharpie
  • 12,844
  • 6
  • 48
  • 58
  • Nice detailed answer that isn't snarky like some of the rest. Thank-you for striving for quality. – Yossi Farjoun Aug 10 '10 at 16:40
  • Nice answer. You might add a notice about synctex, which is sipported out of the box by various editors, among them TexWorks and TexMaker. – matth Nov 11 '11 at 09:20
8
  • TeXworks is a multi-platform editor and user friendly. It can use the same input encoding on Windows and on Linux and Mac OS X.

  • Texmaker is multi-platform and a complex editor

  • TeX Live is a multi-platform distribution. It worked fine for me on Linux and on Windows.

  • LyX is cross-platform as well.

Stefan Kottwitz
  • 231,401
  • TeXworks looks good. If it uses MiKTeX, MacTeX, etc. then I will still have cross-compilation errors. I've already discussed TeX Live and Lyx. – mcandre Aug 10 '10 at 15:09
  • What do you mean by "cross-compilation". Since the target is always a .pdf or .ps file cross-compilation doesn't make sense (see http://en.wikipedia.org/wiki/Cross_compilation for a definition of the term) – Caramdir Aug 10 '10 at 15:24
  • Caramdir, I of course mean compiling a PDF within a TeX system on Mac, Windows, and Linux. Yes, a PDF is a portable format. What's not portable is TeX code to generate the PDF. – mcandre Aug 10 '10 at 15:33
  • 1
    In that case use a cross-platform distribution like TeX Live besides your cross-platform editor TeXworks. If you choose a platform specific editor it's not the fault of the editor. I don't think the editor has to refuse to work with os specific distris. – Stefan Kottwitz Aug 10 '10 at 15:34
  • 1
    Thank you, Stefan. Note that TexMaker is dead, with no redirect to its successor, TexMakerX: http://texmakerx.sourceforge.net/ – mcandre Aug 10 '10 at 15:38
  • Porting any text file from one OS to another is a problem. They use different encodings (do windows editors still default to latin1?) and different line ending symbols (\n in unix, \r\n in windows, \r in mac (at least prior to os x)) – Caramdir Aug 10 '10 at 15:40
  • mcandre, Texmaker is not dead, v2.0 has been released and comes with a pdf previewer now: http://texblog.net/latex-archive/ide-editor/texmaker-2/ – Stefan Kottwitz Aug 10 '10 at 16:17
  • Caramdir, TeXworks defaults to utf8 on Windows as well. – Stefan Kottwitz Aug 10 '10 at 16:18
  • TexMakerX is now called TexStudio and it is NOT the successor of TexMaker, but just a fork of it. Many of the features introduced by TexStudio are now also available in TexMaker which is as of today available in version 3.1 – matth Nov 11 '11 at 09:18
7

In my opinion, TexWorks + TeXLive is the user-friendliest cross-platform solution to TeX/LaTeX editing and previewing. I think LyX's attempt at WYSIWYG creates more confusion than it solves.

Incidentally, there is a Mac OSX version of TeX Live, and is called MacTeX. It comes with a bunch of extra features, but at its core it is the TeX Live distribution repackaged for easier installation and use on Mac OSX.

Taco Hoekwater
  • 13,724
  • 43
  • 67
  • Plus plain old Texlive works just fine on Mac OSX. I'm not interested in Mactex's extra features, I want my setup on Linux and Mac OSX to be the same. – Charles Stewart Aug 10 '10 at 15:32
  • I use MacTeX but only for the slightly nicer installer (respecting the Mac file locations), but I miss out all of the 'extras', which like Charles I don't want/need. – Joseph Wright Aug 10 '10 at 16:39
  • @Joseph: If you use Texlive on both Linux and Mac OS, then "respecting the Mac file locations" may be something of a mixed blessing. – Charles Stewart Aug 11 '10 at 08:24
7

Vim, Emacs, Texworks, Texmaker, Kile and LyX are all cross-platform (though setting up Kile is tricky on some).

Unicode is the future. Save your files with Unicode encoding and refuse to use text editors that can't or don't. That should eliminate half your problems.

Incompatibilities between different versions of TeX systems do happen, but I think they tend to be temporary, and when identified, fixed ASAP. That's been my experience anyway. Just be sure to keep your system up to date.

FWIW, I’ve personally not have problems compiling source with DOS newlines using TeXlive on linux.

frabjous
  • 41,473
2

There's no doubt that the Tex family of software is disordered, tricky, and hard to master. If mastering Tex is the key, and that means mastering it in the same way as you want to master Haskell, then something minimalist will suffice: program in Plain Tex on Xetex. Then work through the following detailed tutorial:

  • Knuth, 1984, The TeXbook

which has lots of exercises, and is supported by an excellent reference work, TeX by Topic.

This is not the easiest way to use the Tex system for document processing, but it seems to address your learnability complaints. I believe that Texlive offers the multiplatform standard you are looking for, but it is not the easiest install, and, as I noted elsewhere, there are sometimes compatibility issues from one year to the next.

As for size, well, Word for Mac 2004 plus VBA scripting is over 300 Mb, and has a much smaller font collection than Texlive's full install.

Charles Stewart
  • 21,014
  • 5
  • 65
  • 121
  • As for ease if install: TeX Live for Windows comes (afaik) with a gui, has MacTeX for OS X and on Linux one usually installs everything through the Linux distribution's package manager anyway. – Caramdir Aug 10 '10 at 15:51