-
Notifications
You must be signed in to change notification settings - Fork 0
Paper Writing
If you do not know latex, you will have to eventually learn it. We write all papers in latex/pdftex.
I recommend creating and curating a single BibTeX file that you can use up to your thesis, look at mine here as an example. Whenever you add an entry to the BibTeX file, ensure its completeness and consistency (e.g., use a consistent style to name and abbreviate conference proceedings). I recommend using string constants for conference names and publishers. I also recommend providing consistent keys that you can remember or that follow specific patterns; I use ABC:CONF12, where ABC is the first letter of all last names of all authors, and CONF12 is the abbreviation for the conference/journal and year. I learned it from my advisor Christian Kaestner (CMU).
Sublime Text has a decent editor for Mac and other platforms (look at instructions on how to use forward and backward navigation between Tex file and PDF). I recommend using Overleaf to share the draft of your papers with me.
Modular LaTeX projects: paper, thesis
Please structure your documents like this:
./main.tex
./mystyle.sty
./tex/
./img/
./data/
Please read the following book:
- The Elements of Style
- Dreyer’s English: An Utterly Correct Guide to Clarity and Style
Make sure you are aware of the current utilities I keep here.
- https://math.mit.edu/~poonen/papers/writing.pdf
- https://faculty.math.illinois.edu/~west/grammar.html
- Citing software: https://www.ctan.org/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-software
- https://kconrad.math.uconn.edu/blurbs/proofs/writingtips.pdf
- http://www.covingtoninnovations.com/mc/WriteThinkLearn.pdf
- https://math.mit.edu/~notlaw/piiUJM2.pdf
- https://arxiv.org/pdf/1612.04888.pdf
- https://entropiesschool.sciencesconf.org/data/How_to_Write_Mathematics.pdf
- https://www.robots.ox.ac.uk/~phst/Style/Ten_Rules.pdf
Be open to learning new programming languages (e.g., try functional programming).
Google Docs is great for drafts and collaborative editing.
I would strongly suggest, for each of your projects, you should create a website, e.g., Athena. There are tools for this, such as Jekyll and templates:
Here are some good examples:
- https://sites.google.com/view/space-project-page
- http://jbcordonnier.com/posts/attention-cnn/
- https://magenta.tensorflow.org/ddsp
- http://www.cs.toronto.edu/~tingwuwang/nervenet.html
- https://sites.google.com/view/optionsofinterest
- https://offline-rl.github.io/
- https://nv-tlabs.github.io/gameGAN/
- https://richzhang.github.io/PerceptualSimilarity/
- https://roeiherz.github.io/AG2Video/
- http://taskonomy.stanford.edu/
- http://matt.might.net/articles/peer-review-rebuttals/
- https://cs.stanford.edu/~merrie/merrie_rebuttal_tips.pdf
- http://www.pl-enthusiast.net/2014/09/17/advice-writing-author-response/
- https://github.com/lintool/guide/blob/master/writing-pet-peeves.md#polish
- https://dritchie.github.io/2017/10/12/three-phase-paper-writing.html
- For systems papers: https://counterfac.medium.com/how-to-write-good-systems-papers-b6ef3b7043ff
- Tips for doing research, including paper writing (highly recommend it): https://github.com/jbhuang0604/awesome-tips
All Ph.D. students should have a nice homepage, here are some useful templates:
- Integration with Grammarly: https://github.com/robindijkhof/overleaf-textarea
If you are asked to submit a revised version of a paper with marked changes. Latexdiff is a great choice.
Here is a workable scenario to generate a PDF with changes being marked using Overleaf and latexdiff.
Backup the version before you are making any changes (say, study_draft.tex).
Make whatever changes (say, in the study.tex).
When you get a revision, you can generate a diff TeX file via either of the following scenarios.
- Open this link in your browser.
- Follow the instruction to paste your old and new versions into the right places.
- Click the
Generate LaTex document showing differencebutton. - Copy and paste the outputs to the tex file (e.g.,
study.tex) you are revising on the overleaf.
- Follow this guide to install
Perlandlatexdiffif you have not. - Put the draft and revision tex files in your local machine.
- Run the following script to generate the diff tex file.
latexdiff <path_to_the_draft>/study_draft.tex <path_to_the_revision>/study.tex > <path_to_the_diff>/study_diff.tex
- Copy whatever in the diff tex and paste them into the tex file (e.g.,
study.tex) you are revising on the overleaf.
!!Important!! Copy and paste the following scripts in the preamble of your main.tex to avoid the "Undefined control sequence." errors when trying to generate a PDF.
%DIF PREAMBLE EXTENSION ADDED BY LATEXDIFF
%DIF UNDERLINE PREAMBLE %DIF PREAMBLE
\RequirePackage[normalem]{ulem} %DIF PREAMBLE
\RequirePackage{color}\definecolor{RED}{rgb}{1,0,0}\definecolor{BLUE}{rgb}{0,0,1} %DIF PREAMBLE
\providecommand{\DIFadd}[1]{{\protect\color{blue}\uwave{#1}}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{{\protect\color{red}\sout{#1}}} %DIF PREAMBLE
%DIF SAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddbegin}{} %DIF PREAMBLE
\providecommand{\DIFaddend}{} %DIF PREAMBLE
\providecommand{\DIFdelbegin}{} %DIF PREAMBLE
\providecommand{\DIFdelend}{} %DIF PREAMBLE
%DIF FLOATSAFE PREAMBLE %DIF PREAMBLE
\providecommand{\DIFaddFL}[1]{\DIFadd{#1}} %DIF PREAMBLE
\providecommand{\DIFdelFL}[1]{\DIFdel{#1}} %DIF PREAMBLE
\providecommand{\DIFaddbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFaddendFL}{} %DIF PREAMBLE
\providecommand{\DIFdelbeginFL}{} %DIF PREAMBLE
\providecommand{\DIFdelendFL}{} %DIF PREAMBLE
%DIF END PREAMBLE EXTENSION ADDED BY LATEXDIFFThen you will see the marked changes in the PDF preview.