The Beauty of LaTex
nitens.org
nitens.org
Edit: source code of this thesis in LaTeX can be found here: http://bitbucket.org/uggedal/thesis/src/
Fantastic work!
That being said, Latex defaults have more typsetting heritage influencing their design than anything WYSIWYG tool. If you can handle the tradeoffs selected, it's a fantastic default route.
I don't know many LaTeX tricks, mostly how to make sections and subsections, insert a figure, add some citations, do monospace text for code, but I can get beautiful papers out of it.
Writing a fluff template language that compiles to Sty files would be a great project.
Pages on a Mac gives me all of the typography features outlined in that article. Actualy, it gives my pretty much everything I need, except for unbreakable spaces (argh) and good support for numbered figure captions.
Positioning LaTeX as a "competitor" to WYSIWYG is wrong, instead one should mock Word and OpenOffice for poor typography features.
Tables are definitely easier in WYSIWYG.
Some sort of typographic valhalla would be Markdown syntax with LaTeX equations and figures, BibTeX bibliographies and WYSIWYG tables.
EDIT: It looks like Pandoc does this! Awesome!
cat data.tsv | sed -e 's/<tab>/ & /g;s/$/\\\\/'
And then you can put all this into a Makefile or whatever you prefer. :)There are some editors that make this much easier, like Gummi. You can just type in the info and it inserts it for you.
I'm struggling with MS Word at the moment as I seem to be locked into a fight to the death with Styles.
I've tried Scientific Workplace but actually found it to be such a non-intuitive interface that I consider it a substantial obstacle to overcome.
Currently I'm: Using MS Word to: * Layout the document, keep track of references and figures. Using MS Excel to: * Produce charts Using MS Visio to: * Produce images of graphs * Produce images of database schemas
It works, but it's clunky and those damned Styles are driving me nuts.
I'd love: * A LaTeX engine for Windows that makes things very easy to get started and very intuitive. * A way of generating charts and having a lot of control over the precise layout of the charts * A way of producing tables (database schema), vector graphics (graphs, and also relations for those database schema) * Keep track of my references in a way that can automatically update the master document and produce the bibliography
In my mind this should be a LaTeX application and perhaps something else for the references. But I'll be damned if I've ever managed to find something that makes adopting and using it as easy as I want it to be, and so I stick with MS Office.
Please help! Before these styles ruin my day again.
1. http://www.texniccenter.org/ Great UI to get you up and running. You still type in LaTeX markup, but you can compile to PS or PDF very quickly.
2. OpenOffice to produce the images, which are exported as PDF. LaTeX has a way to include PDF files directly into the output.
3. For anything else, get a PDF printer and generate PDFs that way. You might need a PDF editor to set the bounding boxes properly though, so it will take some hacking.
4. For bibliography, I used a very hacked up system. EndNote allowed export in a format that LaTeX understood, except that it had a bug in the output markup. So I wrote a quick PHP script to fix that and add a unique, deterministic, ID for each reference so I can refer to it in the text. Worked a treat.
However, there's also TikZ -- a LaTeX package that takes the descriptive approach to graphics: You describe what you want and get almost always a very nice picture that fits perfectly with the rest of your LaTeX document:
http://www.texample.net/tikz/examples/
TikZ comes with an amazingly good manual:
http://tug.ctan.org/tex-archive/graphics/pgf/base/doc/generi...
It's written in Java, and is very simple to use.
It was 17 years ago that I wrote my thesis, but I quickly googled and found some samples online: http://web.mit.edu/olh/Latex/Sample-thesis/index.html
I make graphics using R (r-project.org), save as PDF, and embed them in my documents. This makes sense, because R also generates the numbers behind the graphs, and it leaves me with PDFs that can also go directly into presentations and web pages.
LaTeX has packages for making drawings, but it doesn't shine there compared to other tools.
If, however, you aren't great with LaTeX, I'd use Pages on a Mac, with LaTeXit for equations and EndNote to manage your bibliography. Styles in Pages really work well and make editing large documents easier, not more complex. EndNote integration is clunky, but works. The only major drawback is lack of support for numbered equations and figures in Pages.
Mind you, I'm not saying this is the perfect solution, but it is much better than Word or OpenOffice.
As an aside, I learned Latex doing my thesis (though never noticed the ligatures), and fell in love. I recently wrote a patent application in it, but my attorney had never heard of it, so I (unfortunately) had to put it in Word for her to collaborate. Much less elegant.
One common example is feeling that you "must" include certain ligatures in a font. There is absolutely no reason to mandate this if the glyph shapes do not require it, e.g., if setting the normal shape "f" then "i" with their natural spacing does not cause an awkward overlap. Equally, if glyph combinations other than the classic f-ligatures cause awkward clashes then corresponding ligatures should be provided. So, if you saw a font where the "fi" ligature ran together in a confusing way, it was almost certainly a poorly designed font (or a feature of a well designed font, used poorly).
Another common idiocy in OpenType fonts is creating dedicated petite caps (the same height as lowercase letters) and then calling them small caps. The point of small caps is just to reduce the "heavy" appearance of a string of capitals, to avoid disrupting the flow for the reader. Small caps are not supposed to be so small that they are the same height as lowercase letters, because then small caps like O, S and C become near-enough indistinguishable from their lowercase counterparts, and if you have to do things like pluralise an acronym, things get messy.
See also: "hanging" punctuation that puts the entire mark in the margin (the point is to give a visually, rather than mathematically, even margin, and hanging a few mm of glyph out there hardly does so), hanging bullets/list markers right out in the margin (these are supposed to cause a visual break in the flow, that's why they're there!), using oldstyle figures where they aren't necessary (OSF can be useful for avoiding chunkiness in the same way as small caps, but suffer similar problems to petite caps where an old-style 0 or 1 can easily be misread if the context doesn't make it clear which is intended), and so on.
Unfortunately, there's a whole new breed of typographical snob who once read a book of rules about how typography "should" be done, and now apply those rules unthinkingly, resulting in documents that are neither more beautiful nor more functional that they would have been without the "clever" typography.
I agree with most points but seriously, lightness? Have you ever downloaded it? The program is about 750MB (Source: http://www.tug.org/protext/), and that's for software without an elegant UI. To compare, the ENTIRE office package is around the 500MB, that's Word+Excel+Outlook+OneNote+Groove.It does produce very nice results, but it isn't light (in terms of space).
You're free to download just the LaTeX core and the most important packages. Add a decent Editor/IDE such as Kyle or TeXnicCenter, and you're still in the range of 50-100 MB.
The 750 MB of the total LaTeX package should be compared to the size of Word along with all macros and plugins that are available for Word.
When I discovered it, I had no knowledge of LaTeX beyond the Not So Short guide (http://www.ctan.org/tex-archive/info/lshort/english/lshort.p...) and a couple of semesters using article for homeworks. I found it very helpful for documents of more than a couple of pages, and even when I want to be fairly particular about a single page document such as my resume.
and on markup.
(No, I will not use the gimmicky caps, they annoy me.)
It can be very tricky to selectively expand parts of a subexpression to create a block and then return to the head and execute the block you've created. Without lexical scoping it's difficult to safely create CPS macros.
(I should add that I use and like LaTeX, it does let me produce beautiful documents from Emacs. But let's not pretend it's the answer to everyone's problems)
I'm not seeing it....
\begin{figure}[h!] .. \end{figure}
should insert the figure right where you typed this.Try
\begin{center}
\begin{figure}[ht]
...
\end{figure}
\end{center}
Also, LaTeX usually does a good job in placing figures (which, in professionally typeset journals/books, appear at the top of a page), and overriding it with [h!] sometimes makes a document look less readable. \begin{figure}[ht]
\begin{center}
...
\end{center}
\end{figure}
Not sure it works the way I first suggested. Apologies.I'm trying to lay out a full magazine with a number of graphics in Linux right now.
I don't need WYSIWYG but I do need to be able to position graphics on a page and have the text "smartly" flow around it.
I've been using Scribus. It's OK but a system where you tagged text and could edit it will a text edit would be nice.
Saying a project is free when it is in fact Free Software ... well, that's like saying "they have more than 1.000 users" when there are in fact 50.000 users.
It isn't really wrong, but it's a mistake that should be corrected.
Proper typsetting will check for lakes and rivers. I do not see mention of this so it probably is not "as good as possible".
I have an old TeX reference which suggests TeX pays attention to rivers. But based on your challenge, I skimmed through the description of the line-break algorithm in Knuth's "The TeXbook," and found nothing about rivers. (There is a bit of attention paid to making sure adjacent lines are compatible in terms of how squashed or spread out they are, but apparently nothing that tries to catch rivers.)
The kind of river that is distracting is typically caused by an unfortunate combination of two things: having wide spaces between words, and having them aligned closely enough from one line to the next that the white space they cause joins up visually.
TeX's hyphenation and justification algorithm is, in simple terms, trying to optimise for even spacing throughout a paragraph, with a bias towards using the natural spacing or as close to it as possible. Notably, it can do this by increasing or decreasing the space between words. In this environment, you are much less likely to get wide spaces in the first place than if you have a typical word processor algorithm that justifies line-by-line and only by increasing space. If the spaces aren't as wide, then they are less distracting in themselves, and there is less scope for them to overlap for several lines to form the long rivers that are so distracting to the reader.
This doesn't mean that rivers are impossible using a TeX-style algorithm. It is just less likely to happen, and probably less noticeable if it does, than with a line-based H&J algorithm.
The worst part is that all the problems that people cite below in Word can be solved relatively easily, but Microsoft doesn't fix them because their customers are too undemanding.
The first is the fact that TeX is still relatively unknown, at least in non-specialist circles, which makes it hard to share documents among people. Related to this, I haven't seen any straightforward software to track changes and generate readable diff's of shared documents (though I haven't tried TeXDiff lately http://robmar.net/TexDiff/). I've seen a friend switch a major paper from TeX to Word because his adviser (a Public Policy prof) couldn't deal with the TeX versions of drafts.
Second, and this is purely a software thing, is that footnotes have the potential to break up the flow of text too much. Ideally, there would be some toggle-able option where footnotes could be collapsed during editing. Given the nature of Emacs, I wouldn't be too surprised if there's a way to do this. Am I missing something? Any possibility of doing it in TeXShop?
I had this, and the problem was that the longer item does not wordwrap:
\begin{tabular}{|l|l|}
\hline
\textbf{Title A} & thing 1 \\
& thing 2, but it's much longer than the other items \\
& thing 3 \\
\hline
\textbf{Title B} & thing 1 \\
& thing 2, but it's much longer than the other items \\
& thing 3 \\
\hline
\textbf{Title C} & thing 1 \\
& thing 2, but it's much longer than the other items \\
& thing 3 \\
\hline
\end{tabular}
The items on the right are not a list. However, you can not embed an itemize environment in a tabular environment. Further, this table does no word wrapping. I wanted an itemized, bulleted list on the right, so 30 minutes of Googling and experimenting later, I have a solution using the tabularx package: \begin{tabularx}{0.9\linewidth}{|l|X|}
\hline
\textbf{Title A} & \begin{itemize}
\item thing 1
\item thing 2, but it's much longer than the other items
\item thing 3
\end{itemize} \\
\hline
\textbf{Title B} & \begin{itemize}
\item thing 1
\item thing 2, but it's much longer than the other items
\item thing 3
\end{itemize} \\
\hline
\textbf{Title C} & \begin{itemize}
\item thing 1
\item thing 2, but it's much longer than the other items
\item thing 3
\end{itemize} \\
\hline
\end{tabularx}
This does as advertised. I get a word wrapped, bulleted list on the right. It's also fugly. The spacing of the list is atrocious. It's not fit for a professional publication. Eventually, I end up rolling my own bulleted list: \begin{tabularx}{0.9\linewidth}{|l|X|}
\hline
\textbf{Title A} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other items \newline
$\bullet$ thing 3 \newline
\hline
\textbf{Title B} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other items \newline
$\bullet$ thing 3 \newline
\hline
\textbf{Title C} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other itmes \newline
$\bullet$ thing 3 \newline
\hline
\end{tabularx}
Finally, this looks okay. But the road it took to get here is ridiculous, and the solution I came up with is silly. (Also note that I had to use \newline, because the end paragraph maker, \\, would screw up the table.)In the end, I like Latex. It is, as I said, better than the alternatives. When what you want to do fits exactly into what's provided, it's fine. But when you hit edge cases, abstractions leak and you can sink hours into fixing things. I would love there to be a version of Latex that was not fragile like this.
I solved this problem in the past, much more simply. I think I embedded a \vbox in the table (back when I used TeX rather than LaTeX). Sorry I can't be more specific-- I poked around on the hard drive of my current machine, and didn't find it, so this must have been many years ago, on a project that didn't merit copying over.
I'm not sure if it's what I need, but thanks for pointing it out. It's nice to know people are exploring typesetting/document composition environments that build on Tex, but are not Latex.
\begin{tabularx}{0.9\linewidth}{|l|X|}
\hline
\textbf{Title A} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other items \newline
$\bullet$ thing 3 \\
\hline
\textbf{Title B} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other items \newline
$\bullet$ thing 3 \\
\hline
\textbf{Title C} &
$\bullet$ thing 1 \newline
$\bullet$ thing 2, but it's much longer than the other itmes \newline
$\bullet$ thing 3 \\
\hline
\end{tabularx}Also the final output is much, much prettier.
For a while I tried reading all my docs in pdf instead of html. After that I tried using the various latex-to-html tools, but wasn't really crazy about any of them.
Somewhere along the way I must've gotten lazy or something, and now just use Markdown which works nicely for me.
It has its own real-time high quality typesetter.
My main gripes about (La)TeX are that Unicode seems to be an afterthought, it has its own peculiar font system and creating custom layouts/styles with it seems to be harder than it should.