28

How come that some people seem to know about everything about LaTeX? How do they get there?

In my experience, I use LaTeX whenever needed to produce a paper (by now my diploma thesis), but I never get into the depths of all this macro programming works and all this stuff I consider fancy. But I don't get the concepts very much, especially when using TikZ at the moment, I have no idea what is all possible and just use trial and error, copy and paste together some stuff and so on. I am sure many people can relate to that, since LaTeX is always "only a tool". When compared to e.g. C++ one would go into depth naturally, because C++ is not just a tool but the thing itself. I am really sorry, although LaTeX is really the best text formatting program ever, I never seem to find it necessary to dig deeper. By now I have written a few documents in LaTeX, but never got deeper into the fancy stuff. Where are the people that do dig deeper, and what motivates them?

Edit This is not exactly a question that needs an answer, I just want to hear some peoples thoughts on that topic, because this thought has been in my head for a while and in a way I only want to talk about it. I hope this is ok.

Edit. As response to Peter Flynns answer: I hope nobody is actually offended by my provocative statement, that C++ is the "real thing", while TeX is not. I am happy to see someone who is as enthusiastic about Latex as most people I know are about programming languages for example. A comparable thing in Germany is the Deutsche Bahn (public trains) which most people are always dissatisfied with. When you're late and say:"My train was late." You will most likely hear some ranting about how stupid and bad the DB is. If you are late, however, due to a traffic jam, people will not be as hateful about the streets here as they are about the DB. I think Latex is a little like that: If I am having a math problem, I would not blame math, that it's stupid and it's math's fault that I don't get it. When my software does not work as expected, I would rather feel angry on myself than on the language. But when my text-program does not deliver what I want, I tend to blame that stupid Latex. I could as well RTFM, but I have this strange feeling that some things just have to work as I intend, without me giving it the appropriate amount of attention.

The same applies for stealing: I think most people would not dare steal something from a shop, but I don't know anyone who has never dodged the fare (the direct German translation is schwarzfahren - black riding), or watched a movie online they hadn't payed for. Although both are "the real thing" (stealing) only one is considered as such.

I think, I owe Latex an apology for not taking it serious enough...

EDIT Thanks for all the comments. This gives me some insight on how you view this topic, and how you proceed with learning Latex.

My question is more about, what motivates you rather than how you do it. Thanks

14
  • 8
    You learn much of LaTeX etc. as soon as you want to do something that is not provided by packages/classes or it is done the way you don't want to apply it. You dig into package code and try to understand ... and sites like TeX.SE, LaTeX community etc. are helpful for this
    – user31729
    Apr 18, 2017 at 18:36
  • 6
    I don't think the metapost tag means what you think it means.
    – marsupilam
    Apr 18, 2017 at 18:37
  • Yes:) Metapost is something different, but I can't find a tag that expresses what I mean and I have to at least have one tag...
    – jjstcool
    Apr 18, 2017 at 18:44
  • 1
    Well I am digging deeper at the moment by trying to answer questions on TeX.SE. In addition I'm working on a package (never going to publish it, though, as it's just a template for my thesis which looks like an existing word template), in which I try to do some 'fancy' stuff.
    – Skillmon
    Apr 18, 2017 at 18:54
  • 17
    I don't suppose "get tricked into helping to re-write the system, and use it for 30 years" is that helpful as an answer of how to learn latex, even if it's accurate... Apr 18, 2017 at 18:58
  • 1
    @DavidCarlisle: Not everybody shares your bad fate ;-)
    – user31729
    Apr 18, 2017 at 18:59
  • 5
    Read a complete introduction into LaTeX. Read at least one LaTeX forum like TeX.SE and try to understand not only the questions but also the answers. Read package and class manuals. Read package and class sources and try to understand them. Read books like "The LaTeX Companion". Read books like "The TeXbook". Read … read … read … Try to write your own package, upload it to CTAN, ask for comments, support it for about 20 years. ;-) Apr 18, 2017 at 19:11
  • 4
    Don't use an TeX - related editor such as LyX, TeXMaker etc. There's not much to learn of it ;-) Sorry, opinion - based
    – user31729
    Apr 18, 2017 at 19:24
  • 4
    @ChristianHupfer What have you got against TeX editors such as TeXMaker? Seems bizarre advice to me. (LyX is a different matter, of course.)
    – cfr
    Apr 21, 2017 at 22:19
  • 1
    I prefer Kopka and Daly's Guide to LaTeX to the online PDFs. I try to read through it when I don't even have a document I'm working on, just because it teaches me good technique.
    – ahorn
    Apr 22, 2017 at 16:14
  • 1
    Every time I read the title (“When would one learn Latex”) I'm tempted to answer: in the mornings between 9.30 a.m. and 11 a.m. (EST) :p
    – cgnieder
    Apr 23, 2017 at 14:29
  • You are the only one that truly understands what I was asking for:)
    – jjstcool
    Apr 23, 2017 at 23:00
  • 1
    It's like any other tool: there are people who are interested in the tool and try to learn more about it. There are people who know a lot about Git, Emacs, Vim, etc., and others to whom it is just a tool. The same with your example of C++ too: to some it's just a tool to achieve things on a computer, to some it is "a thing itself" worth learning about (how it instantiates memory, etc). Apr 25, 2017 at 17:37
  • I found a related question on the main site, from 5 years ago: How do package authors find the time?. Apr 30, 2017 at 22:56

4 Answers 4

27

There are several things going on here which need separating out.

How do some people seem to know all about LaTeX? As Schweinebacke said, read, read, read. But also do, do, do, for many years. I've been using TeX and then LaTeX for 30 years, and I've written about it and I teach it, but I'm still basically a user, not a computer scientist, and I will never know as much about it as people who have studied CS and know every line of TeX code.

Getting the concepts isn't hard, but it depends on how you learn. The very worst way is "sitting by Nellie" (old industrial slang for learning by sitting beside an older worker and copying everything they do — faults and all). Your colleague in the lab or library is probably the worst person to learn from. Better is a course or class, and even better if you RTFM as well. Learning the concepts makes learning the detail much easier and faster.

I don't get some of the concepts in TikZ either, because I haven't used it enough, and I haven't read enough of the documentation yet, and I don't know of a course or class. The trial-and-error, copy-and-paste approach is not really sustainable, although it's always excusable if you're under pressure to get that thesis submitted by the deadline. But LaTeX should never be "only a tool", though: you wouldn't treat your car or your power screwdriver with that kind of disdain — at least, I hope not — and you shouldn't do so to software either.

The comparison with C++ is entirely bogus. [La]TeX is the "real thing" in its field, just as C++ is in its field. They are languages of comparable complexity, and it's possible to be a novice user and move towards becoming a guru over time in either of them.

What motivates people to dig deeper? I suspect similar chemical drivers to those that motivate people to climb higher or run faster or find out more in any field. In my case, I started typesetting at an early age, and just wanted to master it (still waiting for that to happen).

But some people lack the time, or the inclination, or the level of interest, to learn any more than absolutely necessary on each occasion. They may feel they are winning, but over time they will probably spend more hours being frustrated than they would have spent learning how.

6
  • 2
    Often in LaTeX-world, RTFM is bad advice because many of those docs are so outdated.
    – marczellm
    Apr 21, 2017 at 7:50
  • 1
    @marczellm The package documentations are normally fully up to speed with the package development. (OK, sometimes there might be slight differences, but the developers are normally very keen to make sure the document really reflects the state of the package at that moment.) Of course one needs to make sure to get the correct version of the documentation for one's package version. If one is lacking behind with the package, just taking the doc from CTAN might be problematic.
    – moewe
    Apr 22, 2017 at 7:10
  • 1
    @marczellm ... If with 'those docs' you mean (unofficial) tutorials or help sites, or just random people on the internet you are absolutely right. Some of those are really heavily outdated and few of them were not even good to start with.
    – moewe
    Apr 22, 2017 at 7:12
  • @moewe See tex.stackexchange.com/questions/11. The top highest voted answers are the LaTeX Wikibook and the Not So Short Introduction, both with comments pointing out that they're out of date.
    – marczellm
    Apr 22, 2017 at 8:23
  • @marczellm Mhhh yes, I thought with 'those docs' you meant to refer to package documentation. For me the wikibook falls into the category of 'random people on the internet' (even though, there has been some effort to get it back on track lately).
    – moewe
    Apr 22, 2017 at 10:50
  • The beginners' documentation in my online book Formatting Information (latex.silmaril.ie) is usually up to date within a month or so, but I do depend on people mailing me to point out errors. Apr 22, 2017 at 21:17
9

Someone said to me once:

A computer is a machine and it has to work.

In other words, a computer is a tool. So is a hammer. Or a bike. Tools to get something done (get on the internet, write a thesis, get a nail into the wall, riding to the supermarket).

If you are not interested in bikes, you probably still know how to ride a bike and do so on a regular basis. If you are interested in bikes, you know why they work, you know how they work and you probably know how to fix a bike if it is broken. You might even know some cool tricks.

It is the being interested part that makes the difference.
If you are interested to a specific field, you will learn that bits and pieces you find interesting.

1
  • That is a very insightful metaphor, thanks. I am going back and forth between those two positions: Latex is just like a bike, that has to simply work, I don't want to know every screw and so on to be able to use it. But on the other hand I think that it is so powerful, that it is worth getting deeper down with it. The same, even more applies to cars... But if you tell someone that loves to work on cars (Autoschrauber - car screwer) that you just don't know how a clutch works, he will look at you totally speechless
    – jjstcool
    Apr 23, 2017 at 22:58
6

I certainly don't know everything about LaTeX, but I do know quite a lot, so hopefully I'm qualified to give my own view on this. I learned LaTeX properly because the time invested in the short term pays itself back hundreds of times over in the long term (at least it does if you write a lot of documents).

The wrong way is to learn a little, then get by with botched solutions, fragments of bad code off random internet sites, bad document templates provided by others (usually with many unnecessary \usepackage commands), etc. Then, when things go wrong, trying to fix them is extremely frustrating. This sort of approach is probably the biggest cause of wasted hours across many branches of computing. An example: I have seen two long documents in which all the equations were aligned using multiple nonbreaking spaces (~). Compare the time needed to do this over and over again with the time needed to read the appropriate sections of the amsmath package manual.

The right way is to read a decent book, then consult package manuals where necessary. If something is really difficult, compose a decent MWE, ask a question on stackexchange, and wait a few minutes for @egreg or @David Carlisle to answer.

3
  • It's interesting, that you say, there is actually a wrong way to do it. So far, I never had the case, that I did something in a cumbersome fashion, that could have been faster and more elegant if done correctly. This means that even if I copy and paste some stuff from the web, mostly I need it only once, so if it works, no problems came later. E.g. if you spill water and use a your T-Shirt to soak it off, this may work once but in the long run a piece of cloth may be the tool of choice. But mostly, I only need stuff once and there's no need to touch it anymore. However, interesting insight
    – jjstcool
    Apr 24, 2017 at 22:05
  • Btw, I once fixed up someones Word-Document, where she didn't use tabs to align the text but used spaces of different size(!), to get it somewhat on the same indent... So I get what you mean, by doing something really the wrong way:)
    – jjstcool
    Apr 24, 2017 at 22:07
  • @jjstcool If you are a bike specialist and se another cyclists bike where a very important piece is fixed with duct tape ... Man, you shouldn't do this! But it works? Works for now, but you could die within the next five miles. Fortunately, using LaTeX isn't death threatening.
    – Johannes_B
    Apr 26, 2017 at 5:32
2

Especially highlighting Peter's first and last paragraphs, my own practical expertise came from:

a) Try "it" (like TeX) out and decide that it would be worth learning and to commit time to the task.

b) Study the manuals and examples to figure out how to produce something basic. Focus on one problem at a time.

c) Extend capability over time by making a point to figure out how do (something new/alternative/fancier) instead of just repeating what you know.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .