# Writing Computer Science Papers – A Few Tips

(The article is still a work in progress) Here is a series of tips and points to check when writing a paper. These tips will mainly help you to keep your article clean and well-organized.

When I write a paper, I use Overleaf or ShareLaTeX. They are online tools to write LaTeX collaboratively. There are much easier to use and better designed than most systems I tried on my computer.

## General Tips

1. Do not plagiarize! This is a serious matter; if you use content coming from another paper, book or article, cite it and put quotation marks. If it is not the case, you can be in serious trouble.
2. Check the typos, grammar, and sentence construction. Typos, strange sentences, and grammar mistakes are obstacles to a fluid reading of a paper. Sometimes, they even lead to misunderstandings, which you want to avoid. I am not a native English speaker, and even if I try my best, there are still a lot of typos and mistakes in my writing. That’s why I always use a writing assistant to at least correct the most obvious errors and potentially give more advanced suggestions on how to improve my writing. I like Grammarly, but there are other options, such as LanguageTool. Obviously, do not apply all the suggestions automatically, and always proofread your paper manually before submitting it.
3. Use simple English. Most of us are not native English speakers. Do not use fancy words and expressions: Write simple sentences.
4. Use examples. Examples are the best tools to explain a point or illustrate a result. What we write is often very complex and abstract, even for experts in our sub-field. Be nice to the people reading; they might not know the subject as much as you do. Examples are good at any point of the paper (introduction, motivation, experiment results,…), and you can develop one throughout the entire article. I especially like to give examples of the system output, which provide a clear view of what the system can do and are less abstract than a table of numbers.
5. Use high-resolution pictures with big and readable texts. Pixelized pictures are often impossible to understand. If you can, use vectorized images that you can export to a PDF and include directly in your document. For example, I use https://app.diagrams.net for my diagrams, and I export them as a PDF, cropped and with a transparent background. Most libraries to create plots often come with this option.
6. Capitalize your title and section names. This might not be the norm in your native language. If you are unsure how to do it, use only tools like CapitalizeMyTitle.
7. Keep a consistent style. If you start formatting something in a particular way, keep doing the same thing throughout your paper. For example, always begin a list item with a capital letter, always use a capital letter after a colon, keep the same notations in your formulas, and have a uniform style for plots and diagrams.

## LaTeX Tips

1. Correct your errors and check your warnings. LaTeX compiles your files to output a document. However, it cannot perform miracles: If we mess up something in the text, LaTeX will output an error. You must not ignore it! Sometimes, LaTeX also outputs a warning when something is missing or unclear and, therefore, might not behave as you expect. Always be sure to check them. You can find them above your PDF in Overleaf:
2. Do not put all your paper in the main file. LaTeX allows you to organize your paper using multiple files and directories. The command \input{...} in LaTeX enables the inclusion of the content of a file given as an argument (like if it was copied-pasted). I like to split my sections (and sometimes subsections) into different files. That allows jumping around in your article quickly. Sometimes, I find it helpful also to isolate tables. This way, I can quickly change the content of my article without commenting everything: I just change the input file. Here is an example of paper structure:
3. Structure the references. The longer the document, the more references. Try to format them consistently. For example, my section references start with “sec:”, my table references with “tab:”, my chapter references with “ch:” and my figure references with “fig:”.
4. Use the same font for your text, diagram, and plots. The default font for LaTeX is Computer Modern. Although not mandatory, it is a cute detail.
5. Beware of the quotes. In LaTeX, the quotes might not behave as you expect. Do not use the default double quote (") but instead, use two backquotes () to start a quotation and two normal quotes ('') to close it.
6. Use non-breaking spaces before citations and references. A non-breaking space prevents LaTeX from going to the following line and is done with “~” in LaTeX. You always want to have ~\cite{...} and ~\ref{}. This prevents citations and part numbers from floating around at the beginning of lines.
7. Make sure your links are clickable. LaTeX often splits URLs into several lines, making it hard to copy them. I like to use the hyperref library an \href{...}{...}, imported with \usepackage[backref=page]{hyperref}.
8. Write clean raw LaTeX text. Just like you want your code to be easily readable, your raw LaTeX text must be well presented. If you cannot read it without compiling the PDF, there is a problem. Besides, if you want to use a spell checker, try to keep a presentation similar to the PDF text: Do not cut the sentences in the middle, avoid wild comments, etc. This is important as copying text from a PDF is often difficult.