This is absolutely amazing. Would you consider putting some sort of companion web site for your UIO thesis style together? I'd love to use it in my own work, but I'm not proficient enough in LaTeX to just start with your class file.
Absolutely. There is no free lunch. Typesetting is a difficult job and unique typesetting is still considered a innovative profession. Latex is a wonderful tool for doing it, but you still need skill, creativity, and drive to use it masterfully.
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.
With LaTeX, I was able to compose and typeset a full IEEE-format paper, full of diagrams and equations, in a day. I've done the same in OpenOffice, doing part of the work in Word, and I spent half the time fiddling with the figures to get them placed decently, and in the end it still didn't look nearly as nice as the LaTeX version.
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.
A big drawback I find is that this sort of ease is only true if there is a LaTeX stylesheet already in exactly the format you want. Not all conferences provide LaTeX stylesheets, in which case you have a huge hassle, because the stylesheet language for making your own is terrible.
I agree and disagree. TeX isn't a terrible language, but it's not a modern language either. Additionally, there's a lot of environmental complexity knowing that typesetting is a complex business.
Writing a fluff template language that compiles to Sty files would be a great project.
I used to do all my work in LaTeX, but recently gave up: life is too short. And before you do the "vehemently disagree" thing, think about the last time you had to typeset a text in LaTeX with lots of figures (as in, 2 or 3 per page), or tables. Enough said.
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.
I use LaTeX specifically because I have lots of figures. Word's handling of figures is monstrous: moving them around at the drop of a hat is just awful.
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.
You mention BibTeX and valhalla in the same sentence, I gather you never had to modify BibTeX styles? Or code in BAFLL ("BibTeX Anonymous Forth-Like Language")?
Interestingly, I like tables in LaTeX better. Not because I like the syntax of LaTeX, but because it is much easier to get a program to spit out LaTeX tables (and have LaTeX use them automatically) then dealing with WYSIWYG.
I'm surprised no one mentioned Lyx yet (http://www.lyx.org/) This is a WYSIWYM processor (What You See Is What You Mean) :)
It lets you write text and formulas in a close to wisiwig thing but its all latex inside.
I've found that just writing LaTeX source is much easier than tracking down the appropriate menu item/dialog box in Lyx. Plus, LaTeX is more commonly installed than Lyx, so I'm more likely to be able to work on school computers, and if it comes down to it I can edit my LaTeX source in any old editor, then test it at home.
> I used to do all my work in LaTeX, but recently gave up: life is too short. And before you do the "vehemently disagree" thing, think about the last time you had to typeset a text in LaTeX with lots of figures (as in, 2 or 3 per page), or tables. Enough said.
There are some editors that make this much easier, like Gummi. You can just type in the info and it inserts it for you.
Are you sure unbreakable spaces aren't supported? I'm not sure quite which cases you're talking about, but pressing Option-Space to insert such a character always works for me.
Good article but the author concentrated just on great output quality. There is another huge advantage: it is easier and less time consuming to write using Latex. I have used Latex, OpenOffice.org, and Word to write books in the past. Using Latex has the smallest overhead because it is so easy to move chapters and sections around, etc. Another advantage, which I am using now, is that I am writing 2 editions of the same book (using different programming languages for the examples), and using Latex greatly facilitates using common material.
Whilst we're all here... can anyone recommend a piece of software for writing a thesis?
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.
I wrote my thesis in LaTeX under Windows. My tools were:
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.
I used Mendeley for my bibliography, which I can really recommend, and it exports to bibtex as well. I ended up rewriting most of my bibtex (and a custom bibliography-style file), but it was nice as a start, regardless.
I'm using Inkscape instead of xfig for drwaing graphics.
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:
I recommend LaTeX for typesetting and emacs for editing (it's not WYSIWYG, though). I found the MIT thesis templates to be extremely easy to use and produced excellent output with minimal hassles. (My thesis was just an undergrad thesis, with a relatively small number of figures. I will admit the figures were the most difficult part, but even there they were totally manageable and I never considered myself locked in any death fight.)
Why not go with LaTeX? LaTeX can make tables, and can embed graphics made in other programs.
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.
LaTeX will get you excellent results if you master it. I don't think you can get comparable results using anything except for professional typesetting software and a lot of manual labor. But LaTeX will cost you a lot of effort to get right, and you will not get it right without a LaTeX expert coming in to help you.
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.
I never learned about ligatures in school, and have only recently been introduced to the idea of them. A couple weeks ago a buddy was putting together a logo in photoshop and the 'fi' ran together. I had never seen that before, and opted to keep them separate, because I felt it would be confusing (or distracting) for people. I had no idea it was the correct way of typesetting (though I still think it would be confusing).
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.
Unfortunately, a significant number of font designers and typesetters have tried to be a bit too clever with "proper" typography in recent years, as OpenType fonts and tools like LaTeX or InDesign have made it realistic to add professional quality typographic touches in everyday DTP projects.
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 had the same with the person editing my thesis. Ended up exporting it to RTF, saving it as .doc in openoffice, and copying all changed back into latex by hand.
"There are several reasons why one should prefer LaTeX to a WYSIWYG word processor like Microsoft Word: portability, lightness, security are just a few of them"
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.
I think you're overlooking the fact that a good bit of that 750 MB is documentation for languages you probably can't read and don't care about. Take that stuff out and you can get things down to ~250 MB, of which the binaries, style files, and fonts take up ~50 MB (figures are based on my personal Ubuntu install). Given what LaTeX actually does, I'd say that's quite reasonable.
I use Pandoc to write most of my assignments in Markdown with a bit of LaTeX, and then convert them to a PDF via LaTeX. It makes doing small papers really quick and easy.
Looks really interesting (and +1 for Haskell). I've used for this purpose Deplate written in Ruby, which has a rich feature set, but is not quite mature, so sometimes you have to go to the source code.
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.
Why does latex get so much love compared to context (http://wiki.contextgarden.net/Main_Page ), when latex only has a handful of academia-focused templates by default and the barrier to making your own is really, really high?
(No, I will not use the gimmicky caps, they annoy me.)
I looked at the beginner's manual and user manual on their wiki. The first document looks terrible (I expected Comic Sans any moment, after seeing the heading/special section frames), the second has broken layout on some pages. Not inviting unfortunately :(
For me, the main reason is that latex has the academic-focused templates that matter to me: the conferences I submit to provide latex stylesheets. If I were to use anything else, I'd be stuck rolling my own.
TeX has a lot of shortcomings as a language. When I was writing my dissertation I would have been able to list plenty of them, but the most obvious was the gratuitous use of dynamic scoping instead of lexical scoping.
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.
Yes, but what about if I want to insert a few figures? I don't want to have them all bunched up one side of the page or to have a tiny bit of a paragraph show up before one or etc etc. I just want to say "put this figure here and this one here" but this is LaTeX so tough.
(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)
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.
Lyx is brilliant! It provides a GUI (not quite a WYSIWYG app) to LaTeX and provides all the nice exports you're likely to need. For those comes from a Word/OpenOffice background, using Lyx should be pretty intuitive.
Some people actually do know about proper graphic design and typesetting, and are capable of making an informed judgement in specific cases with better results than a generic mathematical algorithm. Unfortunately, neither LaTeX nor your flippant defence of its approach is helping those people.
I consider this a mistake because the author depicts the project under value.
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.
"The algorithm uses language-specific patterns in order to decide the preferred position for hyphenation. The engine then selects line breaks so as to make paragraphs look as good as possible."
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 tried to read the paper, but it's behind a paywall so I am unable to confirm whether it gives any possible mechanism for solving rivers. But it seems highly unlikely because the alignment of word gaps from one line to the next, the cause of rivers, is entirely unrelated to getting nice word spacing on the lines themselves. The abstract makes no mention of trying to solve the problem of rivers or lakes. How does the algorithm solve rivers?
As I mentioned before, there is nothing explicit about "solving" rivers in the algorithm. The rarity of rivers is just a welcome side-effect of the mathematical formulation.
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.
I learned the terms from somebody who is involved in book publishing. I do not know much about publishing software. It struck me that it might be an interesting unsolved problem to automatically reduce the incidence of lakes and rivers.
Either you're confused or I am. TeX and LaTeX are not aware of rivers. (Nor of lakes, though I would guess that the TeX line-breaking algorithm makes lakes very rare.) The comment you were replying to was saying that TeX does do hyphenation and line-breaking cleverly but doesn't detect rivers and lakes; it looks like maybe you thought it was saying that TeX doesn't do any of those things.
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.)
Right. I think the TeXbook explicitly says that TeX doesn't know about rivers, but I forget; anyway, I've read the code, and there is no river detection in TeX.
LaTex does many great things. It's sad that the overwhemling majority of the world chooses to use inferior tools like Word, Google Docs etc. I threw in the towel a long time ago, but still wish I didn't have to.
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.
There are two-and-a-half shortcomings of the TeX ecology (but not the core TeX software itself) today that I've seen:
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?
Hm, well, it is not really about [Xe][La]TeX, but various features of opentype fonts. But that is OK, and those links in the section 8 to some free (for commercial use, that is important) fonts are perhaps the best part of the article, I didn't know them yet. :-)
Latex is better than its competitors (Word, OpenOffice), but it has its problems. Many of the environments are fragile and not composable. Last night, I was trying to embed a list inside a table.
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.
Damn, I can't edit this any longer. Just in case this pops up on Google for a decent way to achieve this, my last Latex example is missing needed \\ commands. It should be:
\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}
This is a shot in the dark, but have you tried inserting a \parbox or minipage environment into the table?
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.
Nope, but it very well could work. The solution I did come up, though, also works. But this is all part of my larger point: Latex can be fragile, and getting it to do what you want is often nonobvious.
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.
I used to use LaTeX (with AUCTeX) for writing medium-sized documents. AUCTeX is great, and made typing the required markup very easy.
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 looks featureful and effective. Are you concerned about your "image" if people see you using software that looks old? Do you constantly switch editors because the one you like starts to look dated? I like the "1999" look, because everything is small and simple, there's no glowing shiny ribbon thing oozing across the top of my screen.
There is a Wordpress plugin that accepts a LaTeX formula between "$latex" and "$" and places a PNG image. Handy when you have webpages for math-related teaching.
I loved LaTeX for a long time, but InDesign has now trumped it for me: equally good rendering and output, with usable GUI goodness. It even uses the same hyphenation engine!
imho it's bit unfair to compare LaTeX to MS Word, as the other is typesetting system, and the other is word processor. How does LaTeX output compare to Adobe InDesigns or some other tool that actually cares about typograpy?
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.
"Afterthought" is precisely true. Knuth made up his own character encoding stuff which ought to be replaced now, but in 1982 I doubt he had any better alternatives.
Edit: source code of this thesis in LaTeX can be found here: http://bitbucket.org/uggedal/thesis/src/