The answers so far (maybe with the exception of Andrew's – dialectical as always) have argued for the pros of hard line breaks. So let me add a somewhat different viewpoint:
(1) As a community, we do care a lot about semantical markup: We leave the actual formatting of our document's text to a post-processor (e.g., pdflatex), which does a fairly good job in breaking it into lines depending on the selected fonts, paper format, etc. We alter the actual typesetting only if there is a semantic (\emph{semantic}
) cause for this. This includes manual line breaks within a paragraph with \\
or \newline
; we insert them because they carry semantics.
(2) Only in a very few exceptions (for instance for typesetting code), we seek for full control. In these cases we use environments like verbatim
to have LaTeX obey every whitespace and line break – because for code, every whitespace and line break carries semantics.
In my opinion, the very same principles should be applied for the formatting of the document source code! Hard line breaks should be inserted when there is a semantic reason to do so.
This clearly is the case for those parts of the document that are like (2), that is, real code (in the sense of a programming language): The preamble, macro definitions, etc. This certainly also holds for the source code of packages and classes.
However, the majority of an ordinary LaTeX document (such as a book or a thesis) is about textual content, which maps to (1). Consequently, the editor should do the line breaking depending on the screen size, font size, font metrics and preferences of the human being in front of the computer. This is especially important in a collaborative setting: Why should I be forced to an artificial limit to 80 chars on my 30" screen, just because my colleague prefers this line lengths and has inserted a "semantics-free" hard line break after each line? Let everybody configure his editor as she wants!
This brings us to the question of tools: Technically and principally speaking, the "break after 80 chars" rule is archaic at best. It has a historical background (fixed width of terminal windows, line printers, etc.) and since ever than has survived as the default in many tools as nobody seems to question it. However, there are alternatives. If diff
only works line-based (as it has been intended for C source code) use a word-wise diff tool. (The diff&merge tool included in TortoiseSVN, for instance, is pretty good at this.) If your editor does not support indentation of soft-wrapped lines, get a better editor! (AFAIK, Emacs supports this and for VIM there is a patch available that I have been using happily for quite a while now.)
A final thought: Most LaTeX users seem to understand a LaTeX document as "source code" (in the sense of a programming language, like C); hence, they apply formatting rules and tools intended for C programs to it. However more than 90% of a typical LaTeX document is not really "code", but "content". So apply the rules of semantic markup!