You could always self-host a sharelatex instance though. I know plenty of people that wrote their thesis on sharelatex. Just always make backups. I wrote my dissertation on ShareLaTeX. Make sure that you download a zip of your project every 8 minutes. For the love of God don't use these services as a replacement for backing up properly.
Don't use anything other than backing up properly as a replacement for backing up properly. Dropbox is awesome! It's not backing up properly either. Seriously; your thesis is years of work. Take care of it. I've had friends lose entire book manuscripts; it happens, it's not fun, and it's easy to prevent. I've used sharelatex a bunch; it seems OK, but I definitely prefer my own install.
I use Dropbox to sync across machines. Haven't tried the others. But so long as you back up properly, what's the worst that could happen? May as well give them a go, if you prefer an online install. There are size limits for the online editors mentioned. I made a rather large beamer presentation due to images with the sites mentioned above, and had to ask tech support to increase my resource allocation allowance to render it. For a thesis which is magnitudes larger, I would imagine it would be unwieldy.
Even in a offline tex file, wouldn't recommend having everything in a single file because of rendering time. Although I personally never tried it myself, but there are ways to stitch multiple tex files into a single document. Sounds like an awful idea to me. It'll takes maybe 10 minutes to set up a latex system on any OS and that's as easy as installing a single program that handles dependencies for you.
Leave your source in dropbox so you have backups and older revisions. And remember to force yourself to continually save your work and back it up. You seriously only need a text editor to write a tex document. That's as "work from anywhere anytime" as it gets. You're talking about using a substandard less reliable less flexible solution online editor instead of taking the minutes to set up your own installation.
There's no conceivable world where this would be a time saver for something as time-consuming as writing a phd thesis. Maybe you are right, It does not worth the risk. I could use it for some papers and reports to learn more about Latex. It's a lot more involved that a 30 minute install. Configuring the Ide to work well with bibtex and whatnot is a pain point that is not easily resolved with apt-get. It'll work fine, probably. But I run TeX on my computer, because "the cloud" is just "someone else's computer". Also, I have a text editor that I absolutely love SublimeText 4lyfe!
Auto completion of citations and internal references? Customizable builds? Lovely color schemes? For instance, automatically converting SVG vector images and Graphviz.
You can even generate LaTeX sources from other documents in case you have tools that output the required. I have used this to automatically convert online questionnaires to TeX for the appendix of my thesis using my own quexmltolatex :. Another currently popular tool for diagrams is draw. With the following rule and my own drawio-batch you can automatically convert those diagrams to PDF:.
For further useful conversion rules, have a look at this GitHub repository.
After configuring images for automatic generation, remember to exclude the generated outputs from your VCS. In case you want latexmk to clean up the generated images on -C as well, the following setting is required:. This is still documented this way in many places on the internet, despite being horrible to type and to read. Nowadays, you can more or less safely use common umlauts etc. Another common source for problems with umlauts is the bibliography. Apart from using UTF-8 consistently, I recommend following the convention of placing a single sentence of your document per line of the source file.
The rationale is that this make VCS diffs easily readable without requiring additional options like --word-diff for git to track changes.
This would be necessary if you put each paragraph into a single line or, even worse, if you configure your editor to automatically rewrap paragraphs at something like 80 characters line length. Don't do this. Even a single change at the beginning of a paragraph can reformat the whole paragraph then, resulting in massive and unreadable diffs. Citations are a necessity for scientific work and BibTeX has been used since ages for generating the necessary bibliographies and citations.
Most conference templates still use it today. However, BibTeX has some serious issues. Apart from the aforementioned lack of UTF-8 support, modifying style files is hard and it lacks support for many important fields in the database entries. Thus, there are some replacements for BibTeX , with natbib previously being a good guess. However, nowadays BibLaTeX mind the difference, which Google loves to swallow is probably the most versatile and handy solution you can and should use.
The most important thing to do is to use BibLaTeX together with the biber. Only this way you gain full UTF-8 support, document validation, filtering capabilities. For instance, new types include online for websites, patent for patents, standard for standardization documents, and report for research reports. Moreover, many new fields for entries exist that make filtering the database easier and give bibliography and citation styles more possibilities to include the relevant information in an appropriate format.
Especially the doi field is important nowadays support readers in finding the exact publications you are referring to. A more ore less complete entry for a conference paper for BibLaTeX might look like this:. All database entries are based on a declared schema, which can also be validated by biber using the --validate-datamodel command line switch. This can be enabled in the latexmkrc file by overriding the default biber call:. Regarding the contents of individual entry fields in the database, there are still some common pitfalls and illogical things being documented in other places:.
The same identifiers can also be used in the language field to add a note to bibliography entries in case a cited document is in a different language than the document itself. Unfortunately, the values here are not validated by biber. You can add the following code to your preamble to ensure that the provided language is known by BibLaTeX hopefully this will still work in the future :. The behavior of this command inline citation, footnote, etc.
Thus, you can easily change the way citations are printed with a single change to package options. This command will automatically insert depending on the configured citation style something like the author names so that a real subject exists. The capitalized versions of the commands ensure that the resulting text starts with a capital letter at the beginning of sentences. It is also possible to extract individual keys from bibliography entries using special citations commands.
This way, things are not duplicated and potential typos can be corrected in a single place.
Often, you do not maintain your. Thus, you only have limited control of what will end up in the generated file. For instance, the entry Yu shown above is generated by Citavi and contains a huge level of details. BibLaTeX will happily print all available details in the bibliography and thus even the conference dates will be printed. This might be acceptable for a longer document, but in a space-limited conference paper, this eats all your space and might also violate the publication guidelines.
You could delete the offending keys for the. Moreover, if you share the.
Fortunately, BibLaTeX in combination with biber allows declaring filters and maps to fix up such issues. In your preamble you can use something like the following to delete fields depending on the entry types:. As you can see with the volume field in inproceedings , this can also be used to fix at least some of the annoying errors that most reference managers do. Another useful application for source maps is to find your own publication in a list of publications based on the author name for printing a separate list of these publications.
With this map, every publication containing my surname in the author field gets the keyword ownpub. I can then use something along the following lines to put my own publications in front of the general bibliography:. In some situations you have to know what you are doing to achieve results that correctly reflect the rules of typography. Some of those are of general nature, but some also are specific to LaTeX.
Typography knows different types of dashes and not every dash you will be using is represented as a minus sign in the source code. LaTeX know the following dashes:. Different people promote different rules for when to use these different dashes. Just have a look at this Stackexchange question to get an impression of the different schools, pick the convention that you like best and apply it consistently.
Knowing the difference and using the different visual pauses the dashes types create in the text flow consistently and with purpose is the most important aspect. LaTeX distinguishes between different types of spaces. Depending on the conventions commonly used in different countries, spaces between words might smaller than the ones between sentences. Thus, LaTeX must be able to distinguish these two types. Generally, a space is treated as an inter-word space as long as the character before the space is not a period. A period is thus interpreted as the end of a sentence and the following space is assumed to be an inter-sentence space.
Thus, if you use an abbreviation with a period at the end, you have instructed LaTeX that this period does not end the current sentence by escaping the following space:. If you don't do this, you randomly get larger spaces after abbreviations that interrupt the visual flow. One exception to this rule is if the period is preceded by a capital letter. In this case, LaTeX assumes an abbreviation and continues to use an inter-word space. If you are using common abbreviations in English, e. Placing correct quotation marks requires some thought, especially in other languages than English.
For instance, in German you would have to type this to get correct opening and closing marks:. If you want to avoid remembering how each language and publisher style handles quotation marks, simply use the csquotes package, which automatically selects the correct way for the current document language:. If the quotation is actually from another publication that has to be cited, you can use the following shortcut to also get the correct citation through BibLaTeX :.
As you can see, this also supports the typical pre and post notes for BibLaTeX citation commands to place page numbers. If your quotation is a sentence that ends with a period, some languages have different rules whether to include the period in the quotation marks or not. Finally, it is common to strip some parts of quoted material or add annotations to make it understandable in the current context. For instance, to replace some fraction with a summary you can use:. LaTeX usually automatically hyphenates words automatically.
However, this behavior is switched off as soon as the work contains a hyphen to create a compound word such as architecture-aware. Suddenly, LaTeX will not hyphenate the individual parts, despite knowing hyphenation patterns for them. This will likely result in overfull hbox warnings.
To avoid this issue, the hyphenat package provides commands that still allow hyphenation of individual parts.
Some things require consistency and are repetitive and I will shortly introduce some packages for such cases. In case you are typesetting numbers with physical units or numbers in general, some typographic rules have to be followed for a correct representation. Fortunately, the siunitx package implements these rules, selects appropriate ones automatically, and makes them configurable globally.
For software engineers, the following package option also load binary units:. The second line detect all features of the document font to adapt the number formatting accordingly. Afterwards, you can do such crazy things and everything will be set correctly:. If you have to mention dates and times frequently, the datetime2 package provides macros to do this consistently:.
In case a you like code structure, b use inline enumerations, and c want a package for this, use paralist. This sentence could then be realized as:. LaTeX is very strict about its typographic rules and in case it can't make some part of your document fit into the typographic rules, it will generate a warning and will break the rules in the result document.
The common result is that line of text will flow out of the text border because no valid hyphenation would result in resolving all constraints. This is a common cause for the "Overfull hbox warnings" most people see and ignore in their documents. While some obviously need fixing, because the page margin gets flooded, others are harder to spot. So what to do about these issues? First of all, these warnings shouldn't exist in the final document and in case one of them appears, you should be able to easily spot them.
This is best achieved if usually there are no warnings at all. However, many packages create some warnings when being included that can simply not be solved and are acceptable. These warnings flood the error window of your editor and make it hard to detect the actual problems. To avoid that acceptable warnings hide unacceptable ones, you can use the silence package for hiding warnings based on the source package and string matching for the warning message.
As several unfixable warnings appear already when importing packages, it is usually a good idea to include the silence package as the first package:. As said, while some overfull hbox warnings can easily be spotted, other are harder to catch. However, when adding the following line to your preamble, a thick black bar marks every line that even slightly violates margins.
This makes spotting them much easier. In contrast to the previous examples, where LaTeX created lines that were too long, you sometimes also get "underfull hbox" warnings. This happens in case something doesn't fill the space it should. If you can, avoid these and use better suited constructs where possible. This will always create a warning.
Even though LaTeX is already pretty good at producing high-quality documents, a single package can still greatly improve the situation: microtype. This package improves the visual appearance of the documents by fiddling with the different spacings on the level of individual letters. This creates a document where the visual weight of the different letters is reflected in the way they are laid out on the page. For instance, the text borders get much smoother this way.