I absolutely love ShareLaTeX. It's one of the few products that is kind of niche but does one thing and does it really well. I definitely get $8 a month worth out of their service. Having used MacTeX and similar products, ShareLaTeX is just a much smoother user experience. Not to mention their documentation is great and really gets to the point of what you are often trying to do. I've used their service on the last three research papers I've written and have been sharing the platform with different professors I work with.
(I sound like a shill, but check my comment history — I'm not affiliated with them. Just a happy customer.)
Personally I just can't get used to using a slow web app. I much prefer working in a native editor or IDE (like TeXStudio). I still use Sharelatex in a pinch, when I'm another machine or something, but I breathe a sigh of relief when I'm back on a native app.
One of my favourite feature of Overleaf (another cloud LaTeX Editor) is that I can use git to work on my cloud project on my local machine. It seems to me the best of both worlds.
FWIW, it's not just ShareLaTeX... I learned LaTeX a few years ago and through the tutorials and resources I used I learned the `$$` syntax. I'm a very infrequent user, but this is the first I've heard that it was depreciated at all, let alone 20 years ago.
I do support OP's thoughts that a 'modern' LaTeX solution like ShareLaTeX should encourage best practices though.
I strongly dislike LaTeX mostly because of its terrible error messages, because of the mess of incompatible packages and because of its inflexibility in layout adjustments.
I admit that I never sat down to understand the latex design principles and learn it the hard way. So maybe I'm just uninformed.
But seriously, I just want to write some text with formulas.
The error messages are so useless, usually I'm forced to trace a bug by commenting out sections of text. For even the most trivial features, packages have to be included. Finding the right set of compatible packages is a science on its own. Usually you start with somebody else's document header and try to tweak it to your needs.
And good luck placing an image on the page where you want it.
I assume that if you spend some time understanding the language, it becomes clearer and less of a mess.
But I feel like there is room for a declarative text editor that's a little bit more intuitive.
To some extent, ShareLaTeX has actually been building a wrapper to help you decode obscure error messages [0]. In addition, their online editor provides some basic linting [1].
I agree. You mention two problems that I both agree with.
First, LaTeX wants to be so much, that it can be difficult to get simple things done.
Second, LaTeX's tooling is abhorrent. The quite useless error messages are just one example. Why, for the sake of whoever, would a user-facing tool require me to compile the source twice to get some references right? There is no valid excuse for that.
The real problem here is that LaTeX is not what a document should be described in. LaTeX is a middleware that should be hidden from the user wherever possible.
What you are describing sort of goes against the tenets of LaTeX. You aren't supposed to worry about formatting, just content. You have to explicitly tell it when you want to deviate from the template. In terms of placing figures, you just have to write \begin{figure}[h!].
I've never really had a problem with the error messages or packages personally.
No, you're supposed to worry separately about formatting and content. I know that math-y people (I guess that means math, CS and physics people) think that just using the default settings is fine and those who are hit particularly hard with Stockholm syndrome sometimes even call it 'beautiful', but outside of that world, there is a stigma against papers formatted using just the default Latex (Tex?) settings. So wanting to use other fonts, more narrow margins and different header styles is something that should be if not easy, then at least within reach of even casual users. Which it isn't, right now. (in my experience, having tried to set up Latex and VCS-based authoring workflows several times with people who only took programming classes because they had to).
HTML is infinitely easier to memorize than LaTeX, and Github-Flavored-Markdown is easier still. If they had math notation (Mathjax integration with GFM is still not there), I think they would eliminate 95% of the need for LaTeX.
This is the reason I write pandoc flavored markdown these days and generate latex with it. That way I can still use full latex power when needed inline, but for simple things like headers, italic and monospace I can just use markdown syntax.
Doesn't latex offer a lot more control over layout (page breaks, columns)? For html you have to use css for that and markdown (thankfully) gives you nothing.
On this, I think we can just agree to disagree. For one, TeX did not try and make an arbitrary distinction between style language and content language. So, it is both. Period. LaTeX did try and layer the style to a separate file, but still the same language.
Contrast this with the supposed HTML and CSS divide which has to later in a scripting language and all the joy they all enrich on each other. Is it any wonder that JSX is taking off?
Now, tooling is behind. But that is because it isn't cool to build up tooling on something that doesn't have the user base of a browser.
Yes, I know. That was my point. I concider that the problem and a major reason why it's still so hard to use and one reason why tooling sucks for it.
> JSX
... has nothing to do with HTML & CSS which are both quite happy if you don't use scripting at all. If you think JSX applies in any way here I posit you don't understand the problem space.
Apologies for the misdirection. I posit that JSX exists because having a separate scripting language (JS) from the display language (HTML) is actually a pain from the scripting point of view. So, yes, nothing to do directly with HTML & CSS, but everything to do with the mess that is all of them.
And this is highlighting where we agree to disagree. I consider it somewhat of a strength of TeX that it is a single language for what it does. Makes scripting it much easier to consider. (Far from easy, I grant.)
As for tooling. Tooling is almost always strictly a matter of labor. More people working with it would have produced tooling that was what people wanted. Consider how terrible the tooling for early web was.
But again, I do not think you are wrong, per se. It would take an empirical argument without appeal to beliefs to convince me that one is truly better than the other. I just happen to like the TeX way in absence of these experiments.
I'm not saying LaTex is bad just that putting it all into one system is why it is hard to use, pretty much only the domain of programmers and those who have to use it, and has awful tooling.
None of these things are impossible to solve for LaTex, but they do make it conceptually harder to detangle.
So we aren't disagreeing heavily. Sounds like the main difference is that i disagree that it is any technical achievement of the newer languages that makes them "better." Rather, my position is that it was more from resources. LaTeX just didn't have the resources to build around it.
I don't know how to test this hypothesis. I can present my reasoning for feeling it, though. And that is simply that the technical makeup of the current technologies is built on sand.
Javascript is a mess technical capabilities that is constantly getting frameworks rewritten to address previously solved by other framework's problems.
CSS is a beast when you get in the woods and is basically dominated by whoever has produced the most recent resetting sheet. More, it seems that you can pseudo script CSS things now, what with duration and other items making their way into the standard. (Or, just the :content meta where you can now author crap in the css....)
And HTML, the cornerstone, is a mess of different ways to nest things into pseudo xml. There was a push to make it legitimate XML, but that failed due to the fact that it wouldn't work.
Contrast with LaTeX which just doesn't have a gui. The equivalent of the "Inspector" tab. You seem to be claiming that this is not fixable, but I have some serious doubts on that claim. Especially since I didn't have it at the beginning of my web career, either.
Right, I'm not extolling the virtues of CSS/HTML from a technical standpoint (though they actually do quite well, given the problem space - they are unfairly maligned).
It's more about how they separate out the ideas conceptually - document structual markup + document layout styling.
LaTeX kind of does this in how most people use it but it bundles the ideas together which makes it very hard to reason about and complicates the space.
> You seem to be claiming that this is not fixable
Not at all! I'm saying it's not there yet and progress on that GUI/Inspector/software has been hampered by the above conceptual problems due to the design of the language.
They are solvable, of course, but LaTeX seems to go out of its way to make it harder to solve.
At least for LaTeX there's also a ton of "cargo cult" involved. You either build a template, or get one from a professor, when you start as a student, and you just use that template for the rest of your time at the university. It's not uncommon to see a template that was initially created in the 90's and people just sort of added to it over the years.
Sure, there is room for a better latex, it's not like it's the tool to end all tools. But nobody has managed to produce an alternative so far...
By the way, try the option [H] on floats, it forces it to stay in the position it is in the code, instead of letting TeX rearrange it to minimise wasted space.
I wonder if the problem is that nobody will write something else because of the huge effort it will be, and there will be no users of the alternative until it achieves some level of functionality. I wonder if there's an economics term for this conundrum.
I wonder if there's an economics term for this conundrum
It doesn't come from the field of economics but there is a very good term for why it's so hard to develop an alternative to complex systems like LaTeX:
The Anna Karenina Principle [0]
The reason nobody will jump on a LaTeX alternative is because everybody who uses LaTeX needs something different from it. In a way, you could say that LaTeX has a 'niche' in the long tail [1] of the distribution. The 'happy families' in this analogy would be everybody who gets by with Microsoft Word.
Maybe something like TeXmacs? It is actually unrelated to TeX (AFAIK) and is basically a WYSIWYG-ish editor for structured documents. The only drawback is that it is kinda crash friendly (especially the latest version, try one of the 1.0.7.xxx instead of 1.99 version).
Besides Googling for tricks, another way of learning LaTeX is to download the source code for nice-looking papers that you find on the arXiv.
For example, for "Learning to learn by gradient descent by gradient descent" arXiv:1606.04474 (https://arxiv.org/abs/1606.04474), if you click on Download->Other formats, you get the latex source code and in this case also the Omnigraffle files for the diagrams.
Just in time! I use pandoc to generate PDF files from markdown, but it's not a straightforward process in any case but creating documents that look like Donald Knuth dashed them off in 1978. Pandoc is super flexible but your output goes through LaTeX templates so customizing them felt out of reach given my limited time--until now.
I used pandoc to generate latex from markdown while studying philosophy in graduate school, I even came up with a little executable tarball that generated a directory structure in the the way I wanted, with a shell script to handle building everything properly.
I find that this route is best for documents that you are writing: you can focus on the content and use a nice markdown editor like Ulysses without having to worry too much about formatting.
On the other hand, when I'm trying to typeset a pre-existing text for reading/distribution, I find it a lot easier to copy and paste the text into a latex template and then tweak it incrementally until everything looks the way I want it to.
I also use Pandoc to convert markdown to latex. Markdown expressed the content clearest.
I've also started generated latex PDFs via the Jupiter notebook. They have a quick and easy preview, plus markdown + latex math + code integration that's easy.
I very much like the idea of markdown-pandoc-latex-pdf toolchain (I use markdown for all non-math stuff), but setting up a math LaTeX template that works for anything other than the most basic documents was a pain, so I gave up.
Is there some good ready-made templates around one could try without too much hassle?
While this is a decent guide, I find that being skillful in latex comes from memorizing many highly specific commands. I spend most of my time googling for things such as "How to use (a), (b), (c) for enumerating lists".
True enough. But I agree with OP in that being "good" with LaTeX is essentially just memorizing lots of commands. I've never written a document without having to constantly search for specific commands.
To be honest, I shared the LaTeX documentation of ShareLaTeX with you because it is plain excellent.
Right now, I'm finishing my doctoral thesis and compiling locally, because I'm without internet for long times due to travelling. Therefore, I scraped the docs to have a local copy.
Am glad to see the praise for ShareLaTeX here, though. Especially due to their solutions with ridiculous error messages and their general approach. When I encounter a cryptic problem I switch from vim+vimtex to texstudio -- which usually helps a lot by providing an overview, syncing the logs to the occurrence, organizing them by severity and enhancing understanding by unfolding the log.
The only difference between ShareLaTeX and overleaf I see, is SLs over-the-tops documentation. Kudos again and thanks.
For general interest, my current LaTeX workflow is:
* Write in vim + vimtex.
* Switch on continuous compiling (that's like ShareLaTeX).
* Using synctex to preview with zathura (lightweight pdf).
+ This is really nice, you can configure vimtex to it.
+ CTRL-Click into the (zathura) pdf focuses vim to the
corresponding position
+ <leader>lv in vim jumps to the position in the
pdf being open side-by-side in zathura.
* In case of complex errors open texstudio
* Save battery, use vimagic and be happy.
I liked and used sharelatex initially, but my thesis was eventually moved to overleaf because overleaf has support for git repo (inside the share button), which is easier to manage for the research group.
LyX[1] can be a better intro to LaTeX. It was posted on HN before. But really, it's the most powerful WYSIWYG editor for LaTeX, and it still provides access to the .tex source of the document. You can use the interface and learn the language at the same time.
Besides, custom shortcuts make LyX much faster than writing TeX directly with autocomplete.
Honest question: I tried using LaTeX for a homework assignment. I had already done all the work on some loose paper, but it was all over the place and thought LaTeX-ing it would help readability. It took me about three hours and I wasn't even halfway done (there were four questions and I had barely done the second one)...
Is taking this long normal for LaTeX? or is it something you get better at with practice?
I'm doubtful that using Latex for ephemeral stuff like math-heavy homework is a good use case. It's excellent for documents like journal papers and tech reports that you will be revising and distributing, and perhaps coming back to months later. It's also great for collaboration. I could see it working for a lab report.
With mathematical homework, aren't you spending significant time ensuring that what you typed into Latex rendered correctly? (I.e., the edit-compile-look loop?) I sometimes omit parentheses or put braces in the wrong place, which causes the display to be in error. Introducing another step in the process seems troublesome, and would take me out of the "zone" of problem-solving. (I.e., handwritten copy -> Latex -> rendering vs. just handwritten copy.)
I switched from troff to Latex around 1991. The explanatory tables for the sprinkler system and the electrical panel for my house are in Latex. So, I'm a Latex-phile, just skeptical about this case.
On the other hand, doing homework with latex means you'll have less cognitive load when using it for 'real' work later on. I would say it's more a good investment than a necessity.
>With mathematical homework, aren't you spending significant time ensuring that what you typed into Latex rendered correctly?
>[..]
>I could see it working for a lab report.
I think here is your answer: much depends how much your homework is like a lab report. I have occasionally had courses where the were only a few homework assignments and lecturer expected written answers typeset in LaTeX (or similar).
But I wouldn't bother either if I was the only person who would read my written notes.
I use it for homework when I often need to edit my previous work, or so that I can omit the proofs of "obviously true" lemmas the first time round, make sure the whole proof works, then go back and fill them in.
During undergrad, I wrote up all applicable college assignments using LaTeX for ~3 years. I recommend it if you want the ability to skillfully typeset math or if you plan to attend graduate school.
Pros:
- Transcribing from paper often revealed problems with my solutions
- Easy to modify / improve solutions once typeset
- Easier for me and the graders to read (I have bad handwriting)
Cons:
- Steep learning curve (first assignment took me many hours to complete, but provided the template for future assignments)
- Painful to edit sequences of equations if you are explicitly showing your work
I would find someone's homework template and just copy it. Then when you go to copy your work to LaTeX just replace their content without touching the formatting if that makes sense. I too tried to learn LaTeX in college but decided the learning curve wasn't worth overcoming and what I wanted really wasn't that unique.
Eventually you're going to come up with your own formatting ideas that you can tweak over time but it's much less stressful than drinking out of the firehose when your homework is due in four hours.
I used LaTeX for problem sets throughout grad school, although when I was done with coursework I switched over to Markdown for the dissertation. As long as you only plan to convert your Markdown to LaTeX, you can drop into LaTeX whenever you need more control. This requires knowing LaTeX really well however, which is why it was handy that I'd used it for my problem sets. The end product is really much better, and you do get much better at it with practice, particularly if you also learn a real text editor.
Start out simple. Get Learning LaTeX by Griffiths and Higham. It's a short book that gives you the basics to get started and enough experience to start understanding how to do more advanced things.
Definitely a case of practice as others have said. When I first started using LaTeX I was looking things up on tex.stackexchange.com every two minutes. Once I'd gotten used to it and created a lot of documents, I was able to use it to take notes in real time faster than I could write. I now use LaTeX to take all of my lecture notes and it does a great job. I've defined a couple of helpful environments and created a documentclass along the way to set things up how I like, but it's so much faster than e.g. Word or pen and paper.
Many years ago when I did my math homework in LaTeX I never wrote raw LaTeX, instead I used LyX (www.lyx.org). It's basically your standard document editor with a GUI equation editor. If you're not obsessed with all the LaTeX layout stuff it's great for just typing up stuff with equations and making it look nice.
I don't do my calculations/scratchwork in latex, but I know people who do, and take notes with it, etc. It's definitely got a learning curve, but once you've got it down it can be faster than writing by hand for a lot of things in mathematics (at least, according to some people I know).
I wonder: did you spend much of this time on math formulas, or on "regular" typography like lists & headings?
TeX math notation is the pretty much only game in town, and worth learning, but there are many ways to skip/ease the rest, might help your learning curve:
- WYSIWYG with TeX math: Dropbox paper lets you press $$, type formula, press Enter; and I shudder to suggest it but I hear modern Word more or lets you type TeX math [https://superuser.com/a/509805/33415].
- Markdown with TeX math: there is alas no single standard syntax but tons of tools do support it: https://github.com/cben/mathdown/wiki/math-in-markdown
For conversion Pandoc is king, infinitely flexible, and can render through LaTeX, HTML or many other ways.
It takes a little bit of time and effort to get everything formatted perfectly. But it sounds like you were having an especially tough time. It just takes a lot of practice and repitition.
Try typing up notes from a class. Great way to review the material and to learn LaTeX without a time crunch. Plus then you will have figured out all the formatting you need for the next homework.
I found that, for someone with programming experience, the core LaTeX is quite easy to teach. I use it for all my school projects, and ShareLaTeX just works. I also managed to use it(Nothing Fancy) collaboratively with a friend of mine, with only ~5min introduction (Although I was sat next to him, so not quite the same as learning it alone).
I don't know about that. Formatting a CV is so fiddly and LaTeX is at its best when you can relax your grip and let it do its job. I'd recommend writing something really simple. Take ten minutes and write up the notes from your last meeting. They'll look amazing, and there's basically no formatting required beyond perhaps bulleted lists. It's hard enough just to get over the hump of having source code that's distinct from your finished document, without jumping straight in to the least rewarding part of LaTeX, which is trying to make things look just how you pictured them.
For my last job change I rewrote my then-outdated resume in Latex using a modified version of the popular resume style. The reason was that I found the usual suspects (Word, Docs) just as fiddly with what I was trying to format, but without the clean evolution that a .tex file in a git repo provided. Getting this just right did take time, but I did it iteratively and now have an excellent base that is exactly how I want it, and something that looks better than the word processor templates. Overall it was a worthwhile investment IMHO.
Thing is, one of the aims of LaTeX is to separate content from formatting. I'm guessing in that in your resume.tex, the layout is fairly tightly bound up with the content, but it would be great to hear I'm wrong! Like, if you want it to have a different number of columns, or put the job title and years together outdented in the left margin or whatever, can you do that? Or are you kind of relying on a particular choice of style file?
The content is pretty bound up with the formatting, but it's just one file and I don't mind. At least it's explicit, and I can tweak the layout precisely vs. what I was able to do in Word (which I'm not that great at to be honest).
I just used the well-known Michael DeCorte resume template as a starter, adjusting to suit.
You're quite right that it's a good idea to write a CV in LaTeX, for the reasons you describe. I just don't agree that it's a good first step into LaTeX. It immediately forces you to google ugly formatting hacks instead of learning to appreciate how nice LaTeX will make an ordinary document look without you expending any real effort on formatting.
I'd like to know LaTeX.
And of course played with it a few times.
The issue is, I write something that requires a document editor like once month (if) and it's usually a minimal number of pages. I do it so infrequently it's always a huge pain even using Libre Office. And every time I think "it really ought to be possible to do this with Vim" (which I suppose LaTex would solve, and that's a big plus). It's just the learning curve/benefit ratio isn't there yet.
Something like Markdown, Restructured Text, etc. might be better. I'd suggest Emacs org-mode too but not sure if anything like that is available for Vim.
We have built a reporting engine for PDFs on top of LaTeX; data is loaded using SQL, pre-processed with JavaScript if neccessary and then rendered using pdflatex.
Works great and is fast, but I wouldn't do it again (thinking about using CSS3 + print properties for that).
CSS won't be much more efficient: https://github.com/delight-im/HTML-Sheets-of-Paper It just comes with different problems. But in the end, it's obvious that LaTeX documents will look better because LaTeX is made for high-quality typesetting on (printed) (paged) media, which CSS is not. Anyway, for simple reports or invoices, CSS could work.
How would you say this went compared to off the shelf reporting engines? It seems like all reporting engines have major deficiencies and I've thought about trying something like this myself.
Frankly, we were not able to find something suitable. It needed to be fast (our largest report has like 2000 pages), needed to support advanced layouting (images outside of usual print margins, multi-pages tables with continued headers, ...) and we wanted to have some kind of templating language. Native node.js would have been nice, but not required.
Maybe I was out of luck, butI couldn't find anything useful fulfilling these requirements - if you have suggestions, I'd be interested in seeing what's possible.
How it went, though? Due to our use cases, this LaTeX service is a complexity beast. The templating isn't fun; LaTeX was not created to be templated itself. We have escaping in place, but from time to time user input breaks it. We have no way to let users create their own reports at this point. There are multiple reasons, but LaTeX being not that beginner-friendly is definitely one of them.
But given the template is correct and the user input is sane, it's fast and simply works.
The "least worst" I've ever used to SSRS (Microsoft), not sure if the 2000 pages will cause an issue or if the images outside the borders are possible though. Apparently it supports other data sources but I'm not sure how well, I've got an upcoming task at work to investigate this.
Those reports are usually printed and sent to members. Therefore, even the 2000 pages report needs to be well-formatted and layouted correctly, including addresses, brand images and stuff.
Here's why I don't think it's worth any longer spending time learning LaTeX: When Donald Knuth came up with TeX, he had in mind the printed page. LaTeX gave writers the opportunity to control the way their printed documents looked like. It made writers their own typographers. But the future of documents is content and collaboration, not typographic style. Printing will become irrelevant, and the documents of the future will have to be interactive, executable and device agnostic. As we move forward Authorea provides the best of both worlds (full disclosure, I'm one of the people behind the project). Authorea, which is a format agnostic collaborative platform, allows to write documents in richtext (word), markdown, LaTeX (or a combination of the three). It renders your docs to HTML, but you can export anytime to LaTeX (and PDF). Which means if you want, you can still convert your document to LaTeX without learning LaTeX syntax. It is version controlled (built on GIT) and allows to include data rich plots and Jupyter notebooks. We built it with the "paper of the future" in mind https://www.authorea.com
You mean to say that all we've been doing so far is just pretty printing our mundane thoughts since the invention of the written word and true value will only be unlocked by throwing away typographic knowledge accumulated over centuries and writing documents for the machines instead? Maybe you're right. Perhaps typography and the print media is finally truly obsolete. But you're not the first to make such a claim and you won't be the last. In the meantime, there's still a valid case for learning LaTeX well enough to be able to produce a correctly typeset document. Perhaps you should consider this viewpoint instead of dismissing TeX as an unwanted bastard child in your website's workflow?
I think the new value-add is based on a combination of:
1) the internet and
2) being further down Moore's Law
The increase in both computational power and connectivity has had impact all over the place, but has also transformed science. Even the most analog disciplines now have computational modeling branches, are building datasets, and need best practices for presenting and publishing computational artifacts. From Digital Humanities, to Computational Biophysics.
Printed pages struggle to convey the depth of these results, as do (originally) flat data formats like PDF, which are oriented towards pixels, rather than datatypes.
But I have to disagree strongly about sniping LaTeX as (completely) outdated, because of the need to supplement the printed page with a "content browser". Yes, we most certainly need a computational toolkit for presenting scientific results and aiding peer-review. But no, typesetting is not going away. The human taste for aesthetically pleasing documents is here to stay, and beautifully laid out narratives are instrumental for getting your message across to your audience. Delighting the eye allows the reader to focus on content, rather than struggle with an ugly form.
So my take on my work at Authorea (yep, beware inside bias!) is to transfer our typesetting best practices to the web as the baseline, but then focus and innovate on the "depth" of web-first science articles. To improve academic writing, we need to expose and interact with data, do the well-known social collaboration gig, and embed guarantees for transparency and reproducibility. Machine-assisted quality control and authoring are the two large impact sweet-spots to hit in the coming decade on this front. Time will show if we're in the know or not, but LaTeX is certainly a point of departure that has to be supported, and learning it is a healthy thing to do in 2017. We have a lot of important work ahead of us!
>The human taste for aesthetically pleasing documents is here to stay, and beautifully laid out narratives are instrumental for getting your message across to your audience. Delighting the eye allows the reader to focus on content, rather than struggle with an ugly form.
Is this really true? I don't think it is any more. Just look at graphical user interfaces these days: they're horrifically ugly, as exemplified by Windows 10, and also the flat-UI trend that everyone has adopted.
I tried to learn LaTex a long time ago when I was just getting started with Linux, but gave up when I found that I could use MS Word and get what I needed, without the steep learning curve. I'm sure LaTex is much better than Word for some things, but I've never needed anything as specialized as LaTex. In fact, I don't use 99% of what Word is capable of and most of the time I'm using a simple text editor or vim or atom.
LaTeX was never meant to be used as a word processor. It's amazing for Math and other scientific writing, but apart from that, it's just much faster to open up your basic Word Processor and get on to playing the keys.
As someone who writes "word process" documents using XeLaTeX: no it isn't. It's MUCH faster to spend one day of your life setting up a good preamble, and then never using Word and friends ever again.
However, that one day is filled with rage and confusion. Then again: if you're serious about writing, is it worth it? Absolutely.
True, it would be easier, but a common person can do the same thing in Office much faster. Linking Excel columns to fill a Word document doesn't take that long. I've seen a few places use Excel as a billing software with a little bit of VBScript. Outside of the tech world, I don't see it gaining traction. At the end of the day, we all need different products for different kinds of users. If you're wondering, I'm the LaTeX kind, used it everywhere I could.
Interesting approach. You imply that your output is not printed. It seems to me that HTML with style sheets would be an equally good approach? Not telling you, just curious about your workflow. Any browser can handle a 50 page document without breaking a sweat.
The problem is that a lot of LaTeX zealots and fanboys tell you to use it as soon as you mention Word/Pages/Google Docs/etc. This can confuse beginners and the public in general as to what LaTeX is for.
Meh. The public, in general, has a hard time with Word, too.
Which isn't to say that word processors aren't nice. I actually held off on learning LaTeX years ago because I didn't see the point. The fact that I can still reliably open my documents is huge, though. And it only takes training to learn to use it. For transient things that just don't matter? Yeah, they work fine.
What irks a lot of us is how we typically are given yet another document sharing method for documents that have to be kept in sync with source.
Worse, a SharePoint or workdocs link that only works from one of my browsers correctly and has horrendous correspondence features. So bad that collaboration typically is, pick someone from the team and they will completely own this.
>The fact that I can still reliably open my documents is huge, though
I've had multiple instances where a document that compiled with one LaTeX installation didn't compile with another. It was always possible to fix after a certain amount of head-scratching, but LaTeX is a twisted network of packages that interact with each other in unpredictable ways, and there's no real guarantee that your LaTeX will still compile in 10 years.
Word processor file formats lack diffs that a human can read. And nobody has had show codes since WP died. LaTeX is a mystery, but it rewards the curious.
Word itself will diff Word documents beautifully, and there are alternative solutions as well (Workshare/DeltaView, Change-Pro, etc.) that are even more powerful.
It has certainly gotten better, to say it is beautiful is a stretch.
Seems invariably, someone doesn't realize which is the old and which the new. So, when someone finally "accepts" the changes, something if getting lost. Worse, the folks that never accept and just keep passing the review docs.
And heaven help you if you want to preview style or layout changes.
(And please don't take it as this being fixed by other toolchains. Not my intent.)
If you ever want easy-to-update, high quality documents, LaTeX is what you want. You simply see the difference between word and LaTeX. With microtype, you can easily reproduce the quality of highly paid typography-experts.
Versioning is where the Microsoft world, and probably all graphical word processors suck big-time.
The world of pain I go through when I have to collaborate with partners in government or defence, sending back and forth word files from various word versions and tracking comments and changes leaves me losing the will to live.
Oh if we would only have the GitHub GUI for Office files!
Word itself provides a compare function that works very well, and there are alternative tools that also provide versioning functionality that can be combined with various document management tools, essentially providing GitHub for Word files (see, e.g., Interwoven iManage, etc.).
Unless you work with different Word versions, and different people across different organisations and send Word documents back and forth, trying to keep a workflow going...
Also commenting sucks, in some versions replies add a comment (which renumbers them all..), and in the next version the comment numbers are not displayed. It's a mess really.
Add-ons like iManage are relatively useless if you work with multiple orgs.
LaTeX is great for a lot of things... but you might want to look at ConteXt too. While it's less sophisticated in many ways, but way way more advanced in others, like color-handling and inline figures and images, and better support for advanced PDF features.
It's also a little bit lower level... whereas LaTeX has a lot of opinionated defaults, ConteXt tends to expose a few more of the primatives.
Basically - if LaTeX is the better Word, ConteXt is the alternative InDesign.
I feel this post could be edited to as "Learn a pinch of Latex in 30 minutes"....for some people title could be ambiguous...frankly we can't learn anything in 30 minutes...we just get a feel of any skills or concept....the concept of really learning is when we could put something to practical...if we couldn't put anything to practical its not learning but just skimming through the concepts.
Just did the whole intro and them some. You're right--but it's accompanied by a whole lot of other lessons that all take the same clear, humane, approach. I'm willing to accept a little hype for such a comprehensive presentation overall.
> Andrew: What set of tools do you use today for writing TAOCP? Do you use TeX? LaTeX? CWEB? Word processor? And what do you use for the coding?
> Donald: My general working style is to write everything first with pencil and paper, sitting beside a big wastebasket. Then I use Emacs to enter the text into my machine, using the conventions of TeX. I use tex, dvips, and gv to see the results, which appear on my screen almost instantaneously these days. I check my math with Mathematica.
So, one of the greatest minds of our time uses Plain TeX, it seems. Given that his texts look more complex than any other mathematical texts that I have seen, why would anyone prefer to use LaTeX instead?
Well, he took a detour in writing TAOCP to invent TeX, because he felt other typesetting solutions were inadequate. So not surprising he uses plain TeX still. Most people prefer LaTeX becase plain TeX is rather more primitive -- for the same reason most people would choose C or a higher level language over assembly language for programming.
I have found spamming Google for LaTeX solutions to be really unsatisfactory and recently decided that I'd rather just learn my tools properly. This very very quickly led me away from LaTeX and over to plain TeX.
I have read through about 2/3 of the TeXbook so far and currently am writing my thesis in it. So far it's been really enjoyable! That's not something I could say about my past struggles with LaTeX.
Maybe once I have TeX down really pat, I'll peek back over into LaTeX, but for now I really don't see a need.
Getting a handle on the typographic primitives that TeX offers makes a huge difference. I've actually found it surprisingly easy to handcraft whatever macros I need. Though I do also use a the amstex macros.
Admittedly, it's easy to end up with a horrid mess of macros if you're not careful, but a bit of forethought and experience with frontend design patterns goes a long way.
One thing I haven't figured out yet is how to deal with CJK languages nicely.
I've played a bit with plain TeX last year[1] because I wanted to find an alternative to do PDF slides using a simple text-based formatting.
Deckset is cool but I can't customize much of the layout, and I don't love HTML-based solutions. I don't love Beamer either because you have to write a lot of ceremony for a single slide, and most styles feel very "old" (lots of side/top bars).
Here's an example of what you can do using the `lecturer` package:
I use Plain TeX for short and simple documents (which is pretty much most of my needs), it is often simpler than coercing LaTeX to do the layout I need.
If you benefit from TeX, LaTeX, and friends, please consider supporting them with a membership in the TeX Users Group.
For full information see http://tug.org/aims_ben.html but note that if you select to get the journal electronically then a one-year membership is $45. (If you are a student, recent student, senior citizen, or come from a country with a modest economy then the annual rate is $15.) It could not be more reasonable.
ShareLatex and TeX in general is awesome. I use it for the Biblatex and I have dabbled with Beamer.
Two issues that I have run into are live word counts for assignments for profs who refuse to give page counts, and having to maintain multiple document versions manually (one in TeX, one in Word) because my field (Nursing) is full of non-tech savvy older profs who will look at you funny if you provide them with something outside their comfort zone.
For pdf deliverables regarding things like a resume, I am wondering if it is just better to create an html document using FE web dev skills, and render it to pdf (having done the latex resume thing recently).
i.e. for PDF's (like a resume), What are the advantages of latex over html+css->pdf?
(This is assuming I don't care about things like table-of-contents generation or precise chapter-aware commands)
Nothing I can think of except for some typographic sugar that almost no one (except for other latex users or typography people) would notice. It really is not worth the frustration today.
I take issue with calling it a frustration. Especially since trying to get good page layouts with html is frustrating to me.
That said, if you need any document, be it a résumé or anything else, and you need it tomorrow, use the tools you know. And don't feel bad about not knowing other tools. Trying to get up to speed on anything that is worthwhile quickly on a new too will almost certainly be frustrating. Even word processors.
> For pdf deliverables regarding things like a resume, I am wondering if it is just better to create an html document using FE web dev skills, and render it to pdf (having done the latex resume thing recently).
For a resume, I think something like Google Docs is better. You want to have a lot of control over the layout so it fits on a page or two. Latex is good for automated document generation but with resumes it's not common you'll be generating them more than every year or so and you should be tailoring them to each job.
If you are generating the HTML using data from a JSON schema (like JSON Resume) then HTML is a good enough way since the data is easy to handle. Raw HTML would be a very big pain once you want to generate tailored resumes based on some input criteria.
LaTeX and JSON schema based resumes both offer modularization and help with generation of tailored resumes. I don't find any other advantages IMO.
I've learned LaTeX by taking all lecture notes in LaTeX and googling all the stuff (or just leaving comment to google it later). Math was especially hard, but after a semester and a half I'm almost not googling and writing relatively complicated LaTeX as fast as regular text.
What You Get Is What LaTeX Thought Was Best For You. So, images spreading to the margins of the page, a block of whitespace on the next page, lots of weird characters instead of your local characters and lots of more obscure stuff.
LaTeX I feel is going the way of HTML as a intermediate layer language that is not to be meant to be read/written by humans. Like others in this thread I much prefer writing in Markdown and then using something like Pandoc to convert to Latex.
This didn't really answer "Why Learn Latex?". It mentioned some of the benefits of Latex as a format but what reason do I have for not using some sort of Latex generator?
I figure the chance of downvotes is worth it for relating the most unexpected conversation I had socially
I'm prompted by the commenter who above says they struggled and preferred Word. I use Word as a daily driver because of Excel embedding, and company policy, but this is about the value of pursuing LaTeX that may open not so unique possibilities:
Posted because there are lots more places where I think being up to speed with TeX / LaTeX can get you hired by someone interesting / or in lucrative if dull job, not necessarily as a programmer:
Through a friend, I met and chatted with, eventually for hours, the a gentleman whose last occupation turned out to be the publisher for authorized education books... In Iraq... Under Saddam.. Why we got so deep talking at my friend's dinner party? We were arguing the real time composability of TeX. I don't know the chances of such a conversation with any septuagenarian gentleman, to start with, but I hope my friend's promise to invite me next chance we can meet will arise. I encountered a delightful gentleman programmer by nature as opposed to training; his formal education was history and languages, self taught programmer, who also mentioned MCL. I last used LaTeX in earnest in the late 90s - his knowledge, I should have asked if he was actively using, seemed current... our mutual friend a publisher, this makes me think I ought inquire if a book is forthcoming. Regardless, I think it's fascinating just how entrenched TeX and LaTex are in the minds of users. And publishers I've met who use TeX are devotees. I've been told by a couple now, that they expect associates to pick it up on the job. So potentially this might be a angle for a programmer to side move into a different field. Associates hired or promoted to work with publishers are usually tasked with longer term research into subjects and trends, it looked to be rewarding work. And in politics, economics, tech obviously, a programmers skills might be enough for the transition, especially if the publisher felt lightweight on in house abilities.
I used to encounter commercial applications wrapping TeX frequently, in the 90s. One, by a British software house since subsumed in the XML everything, enterprise data / private equity rollup fad, I forget the names it went through, was essentially selling TeX, plus advert placement layout engine, used by FAZ, Suddeutsche Zeitung, lots of Italian dailies, the EC, for a sweet 50,000 a seat.
Mass market Print publishers need tools to manage costs that drill down to the weight of ink used on the paper. It's a reason the InDesign ecosystem is stable- third party integrations that are expensive to write for a select audience. But smaller houses have wider tolerances, may "leave that to the printer" (hope they can get good bids without the pre press estimate), so the variety of pre press tools widens to include just LaTex and a impostor for separations/plates.
Knuth's Digital Typography, is a excellent read, and a chapter in that, showing by how much, and how easily, major press titles can be made more readable, save space, and more, became a brilliant sales tool for my consulting. If you know TeX / LaTex, and need a gig, Digital Typography, plus the addresses of nearby smaller publishers, might be a great way to catch good work. I found so, anyhow.
The British software house wasn't Advent 3B2, was it?
Being up to speed with LaTeX can get you hired, but you've always gotta be prepared for the excited, "You know LaTeX! Let's do all of our documentation in it!" and the gentle conversation that ensues about how expensive free software can get once you involve people and processes...not that LaTeX isn't great; I use it myself for print-ready PDFs, but for corporate manuals and stuff and getting tech writers off the street who can hit the ground running with it, it's just not the right solution for most organizations.
(I sound like a shill, but check my comment history — I'm not affiliated with them. Just a happy customer.)