13 ms·
> ...should be ashamed people are still using Vim to write LaTeX in Bash running on terminal emulators. First, why? It works just fine. Second, is there anythi
by glesica 13y ago
> ...should be ashamed people are still using Vim to write LaTeX in Bash running on terminal emulators.
First, why? It works just fine. Second, is there anything better? I don't know of anything I would prefer to use. So until someone comes up with something, I'll stick to using Vim to write LaTeX in a Bash shell (might upgrade to zsh, we'll see).
- tinco 13y agoNo, it doesn't work fine. LateX is slow, inconsistent and needs to be ran multiple times to give a correct result, it has no API, is not extendable in a sane way, it's source code is so arcane there's books written about it, and if you've read the books the only thing you've learned is that trying to reimplement LateX is a fool's errand. And it's syntax is ugly. Markdown is better. Microsoft Word is better. They just both lack certain things we need, and LaTeX has those things. Could you not envision things could be better? A LaTeX that parses to an in-memory tree so it could be transformed before compilation? A shell that instead of working on character streams worked on structured and annotated data streams, so it could intelligently interpret what is going on? An editor that does have at its core an expectation that its output is ASCII character commands controlling a 1970s terminal interface? Of course you'll stick to using Vim to write LaTeX in a Bash shell, I do too. Doesn't mean I'm not mad about it..
- robinhoodexe 13y ago"Markdown is better. Microsoft Word is better." Stop comparing oranges to apples. And there's really no "objectively better", it's two different tools with two different uses. Sure, LaTeX could be better, but it's been working on.
- tinco 13y agoI do what I want. Also, LaTeX is a system for creating documents, and Word is a system for creating documents. There's only four important differences: Word has a more modern architecture, Words compiler is integrated into its GUI, Word is closed source, Words source format is not human readable. Apples to Oranges? I can compare these Braeburns to those Fujis just fine thank you.
- Crito 13y agoIf that is all you need and expect from a replacement for LaTeX, why aren't you just using LibreOffice?
- tinco 13y agoIt's not, I need the human readable source part, so I can track my work and cooperate in git :) I use LibreOffice for some stuff though.
- Crito 13y agoAren't modern word processor formats just zipped-up XML files? I suspect it should be a straight-forward matter to get at least LibreOffice and version control cooperating.
- TylerE 13y agoYou are technically correct, but not usefully so. The XML is pretty hairy. A VCS that handles XML semantically (e.g. tag-pair oriented, rather than line-oriented) might have some shot....but, basically, merges are more or less not going to work so it's not really version control, just backups.
- davidgerard 13y agoVersioning of OpenOffice/LibreOffice documents using git: http://blog.riemann.cc/2013/04/23/versioning-of-openoffice-libreoffice-documents-using-git/ http://blog.riemann.cc/2013/04/23/versioning-of-openoffice-l...
- blueblob 13y agoThat is really cool, thanks for that.
- PeterisP 13y agoIf we're talking about LaTeX, Word, Markdown and LibreOffice - well, then LibreOffice is a contender for the worst usability, it's superficially similar to a mature product but it's a case of "the remaining 10% of goodness will take more work than the first 90%".
- kcbanner 13y agoIf you are comparing Word and Markdown to LaTeX I think it's clear you haven't really used LaTeX.
- Perseids 13y agoCan one not value the simplicity of an apple, the juiciness of an orange and compare it to a Pomelo, wishing the latter had both? I would say LaTeΧ can be perfectly well seen as a combination of many aspects of Word and Markdown in the sense that it offers the feature set and backwards compatibility that Words offers, while culminating a legacy, complexity and perceived indeterminism that also plagues Word (though in a different way); and on the other side being a plain text format that can be version controlled and taken apart and shared as snippets.
- unfamiliar 13y agoOh get over yourself. Every one of the criticisms he levelled against latex is spot on, and you pick up on the fact that he mentions Word is easier to use (which, by a long, long way, it it).
- banachtarski 13y agoIt's an apples to oranges comparison. I want to draw a conformal mapping diagram in word and also write a 3-vector of the navier-stokes equations. Also, I want to do a lot of tensor arithmetic with tons of superscripts and subscripts and arrows. Tell me how any of this is accomplished in Word please. Saying Word is easier to us is like saying BASIC is easier than C++.
- mbreese 13y agoYou know what most people would do? Use a dedicated program to create the plots and equations, export it as a PDF, and embed that in Word. Instead of LaTeX being the de facto standard for all publishing, it is relegated to very specialized uses in mathematics and some engineering. If you try to use LaTeX with a biomedical researcher, they will look at you very funny. Hell, I just had a postdoc send me figures as part of a manuscript draft where she was using Powerpoint to make the figures instead of something more appropriate like Illustrator. Most people who publish don't care about how their documents are created, they just want them to work and get published. Word does a pretty good job for this. Use the best tools for the job. Most people would tell you that BASIC is easier to use than C++, if you can write your program in BASIC. And if you don't want to deal with learning curve of C++ and you get get by with BASIC, then what's wrong with using a tool that works?
- dllthomas 13y ago"A shell that instead of working on character streams worked on structured and annotated data streams, so it could intelligently interpret what is going on?" I'm not convinced that's worse, but I'm not convinced it's better for the task of being a shell. It's totally, unequivocally, way the hell better when you're trying to build anything large out of it, but taking everything back to byte streams at the interfaces means a huge ability to easily reformulate things to fit them together.
- im3w1l 13y agoThe by far easiest way to write formulae I've come across is pen and paper. I could imagine a drawing tablet interface with good computer vision algorithms could be nice.
- jodrellblank 13y agoSurface Pro has a digitizer and pen, Windows has math-writing recognition from pen input: http://windows.microsoft.com/en-ph/windows7/use-math-input-panel-to-write-and-correct-math-equations http://windows.microsoft.com/en-ph/windows7/use-math-input-p... OneNote has "insert Ink Equation" (I don't know if it uses the same engine, or has its own).
- markdennehy 13y ago1) You run latex twice only on really large and complex documents like books, and if you're writing books (not editing, see antipope.org for details) in Word, then you need professional help. 2) Markdown and LaTeX are designed for different tasks. Next you'll be telling me that if you have a leafblower, you have no need for a chainsaw. 3) Find me the structured and annotated data streams first - and show me that the structure and annotations are correct - then lament the lack of a shell that can route them to the programs that don't interpret stdin and stdout and stderr that way anyway. 4) I use vim to write latex when I write latex, but "in a bash shell" doesn't make any sense. You fire up vim from bash, yes, but unless you're trying to do an ex-style editing session, you're not editing in the shell any more than you're editing in the kernel or the tty driver...
- callesgg 13y agoOne could easily remove then fan on the leefblower engine and add a saw blade.
- flying-sheep 13y agomarkdown is perfect for forum comments, but idiotic to extend too far. if you’re a programmer wanting to write a book in markdown, you’ll find yourself thinking of markdown syntax extensions more than thinking about the book. if you want extensibility and still a rather lightweight syntax, try restructuredtext. it has exactly one flaw compared to markdown, which is the hideous inline link syntax (which practically forces you to use named links). that makes it less suited for forum comments (where you might want to quickly inline 1-2 links), but perfect for books (where you can neatly specify your link targets below the current section)
- markdennehy 13y agoOr you could just use LaTeX, which has been used for writing books for decades (the word you're looking for is "debugged" and the phrase is either "well understood" or "well documented"). And yes, there are efforts underway to improve it (LaTeX3) but 2e works so well, there's not been much drive there. And if you find LaTeX is so hard, there's always LyX...
- flying-sheep 13y agoLuaTeX is exactly what you’re talking about. LuaLaTeX is a reimplementation of PDFLaTeX on that base. ConTeXt is a new syntax/concept based on LuaLaTeX (that doesn’t want to be compatible with LaTeX and its errors) --- That shell is unfortunately MS PowerShell. There are several approaches to do it in a way more familiar and compatible with unix shells. (some of which have been started recently, such as Final Term, and some are vaporware, such as TermKit) And most editors are like that, some of which even have an optional vim mode for fans of that control scheme (my favourite is Kate)
- AliceWonder32 13y agoLaTeX is not slow or inconsistent. You only need to run it multiple times if you use features that require it, and that is because one pass generates code to be read in a second pass. The syntax is not ugly. It's a macro programming language. If you don't like use vim (or emaca with AucTeX) to write it, look at LaTeXila - it's pretty good. If on Windows, notepad++ is also free and has excellent support for LaTeX.
- tincholio 13y ago> Markdown is better. Microsoft Word is better. They just both lack certain things we need, and LaTeX has those things. That comparison right there, between systems in entirely different categories, tells me you have no idea about what you're saying.
- Crito 13y agoYeah, I mean it's not like 'more modern' alternatives haven't been created... They just haven't caught on among this group of people because this group of people values functionality and does not give a damn how old something is. People have made fancy new shells build around things other than bytes through pipes, people have created new replacements for terminal emulators, and people have created fancy GUI document creation systems with fancy instant visual feedback (a.k.a: word processors). Real shells, real terminal emulators, and LaTeX are all still used despite the creation of these meant-to-be replacements.
- pjmlp 13y agoBecause many of the people that learned those old stuff were young when those tools were new and don't want to learn anything else. Habits die very slow.
- AliceWonder32 13y agoAnd because the shell utilities are more versatile and often better.
- Crito 13y agoI'm not particularly old, but I prefer using tools that are considered "old". Furthermore from where I am sitting, there seems to be no shortage of older developers who are wed to the latest fancy IDE. I don't think this is something that follows age lines. Whether or not somebody primarily has a background in the FOSS world or in the Windows universe is probably a much stronger indication of what sort of tools they use.
- pjmlp 13y agoWell, I have a background in both. Before getting my first UNIX contact, via Xenix in 1994, I was already fully comfortable with the GUI world of Amiga and later on PCs. Including GUI alternative environments like Smalltalk and Oberon. So, although I do master the CLI, I rather spend my time in the cosy GUI world.
- PhasmaFelis 13y agoFor one example, just off the top of my head, most any remotely technically-inclined young person in 2014 knows that you use Ctrl-Z/X/C/V/A to undo, cut, copy, paste, and select all. (Or substitute Command if you're on a Mac--same basic idea.) They've got that down cold, along with a host of other ubiquitous editing conventions--Ctrl-Left/Right to jump words, Shift-arrowkeys to highlight, Home/End to jump to the beginning/end of the screen line, etc etc etc. Basic text navigation and editing is a breeze, straight from muscle memory. Then you try command-line Unix for the first time and nothing works anymore. You have to unlearn the habits of a lifetime before you can do something as simple as edit text. You can't even remap them effectively, because most of them do something else in vim or bash that you'd have to move elsewhere. This is one of those problems that is just completely invisible to old Unix hands. It took me years to stop writing code in Notepad, because using vim felt like trying to drive a car with the gas and brake reversed, and someone punching me in the face every time I reach for the turn signal. I'm not saying Unix conventions are objectively worse than Mac/Windows ones. Once you've got them trained into muscle memory, they're just as effective as anything else. But that need to retrain is a pointless roadblock in the path of every would-be hacker.
- glesica 13y agoUnix was here before all those conventions you listed. So go back in time and tell Windows and Mac software vendors to stop making everyone change their muscle memory in order to use some new software... But seriously, this is a complaint I hear from undergrads in CS all the time. My answer is the same every single time: stop whining and get over it. You're a professional now, you use professional tools and sometimes they work differently, that's just the price of admission. Nobody whines that driving an 18-wheeler is different from driving a compact car, they just suck it up and train for a CDL.
- noir_lord 13y agoThey might "whine" if you used the steering wheel on the 18 wheeler to control acceleration and the left and right pedals to steer though...
- aaronem 13y agoThere is something better. It's called Org-mode, and it is part of Emacs, although that shouldn't scare you off immediately; I'll talk more about that shortly, but first want to mention some features you might find appealing. You can write LaTeX documents in it if you like, or you can write Org-mode documents in a far more humane syntax, which the editor understands on a semantic level, and which can incorporate LaTeX snippets where they're needed while otherwise insulating you from having to write LaTeX source by hand. (Although of course you can if you want to.) Org-mode has exporters for LaTeX, PDF (via LaTeX), HTML, DocBook, PDF (via DocBook), various flavors of plain text, OpenDocument text (which can get you to Word if you want to go there), all of which work quite well; if you need to supply LaTeX source as input to some external pipeline, Org makes it possible for you to do so. On the other hand, if you prefer to spend as little time as possible dealing with raw LaTeX, which in my experience seems like a sensible attitude to take, Org makes that possible as well. And on the third hand, if you need to write LaTeX source directly for complex diagrams and such, or if you want to override the way Org generates LaTeX in specific cases but let it handle the rest of a document on its own, Org doesn't get in your way there, either. You can also include code snippets in an Org-mode file, of arbitrary length and in arbitrary languages. If they're in a language Emacs understands, you can have it render them with syntax highlighting, but that's just the tip of the iceberg; you can also have Org-mode execute those snippets, whether ad hoc or as part of the compilation process, and it can incorporate their results into the document verbatim or after a variety of transformations, and also use those results as input to other code snippets in the same document. This is why the literate programming folks love Org-mode as much as they do; there's nothing quite like it for interweaving text and code and then being easily able to do interesting things with both. And, although Emacs is by far the most powerful editor for Org-mode files, there's nothing saying you have to use Emacs to edit Org-mode files. You can, for example, use Vim to write your Org-mode source, probably with some degree of highlighting via some vimscript file or other. You can then invoke Emacs in batch mode to compile your Org source into whatever format you want to come out the other end, without ever having to see or deal with the Emacs editor interface, and without having to involve yourself save on the most superficial level with Emacs Lisp. (I'll be happy to provide the general form of such an invocation, if you're interested; let me know.)
- KC8ZKF 13y agoI think the problem is we are typesetting at all. By typesetting I mean for the printed page. Most of the result is PDF which is then emailed around. It's a PITA to write, a PITA to generate, a PITA to distribute, and then a PITA to read. For the one percent (perhaps) of the documents which really end up on paper, I guess LaTeX is fine. Or Word. Who cares?