Sharelatex is a convenient tool to write articles in latex with:
- online simultaneous editing (you can just edit tex file in a browser!)
- full history to see who did what and review the changes
- offline mode (though rather hard to install at the moment)
Geany is my favorite text and code editor, it is very light and customisable: on ubuntu you can download all the plugins with the command:
sudo apt-get install geany-plugin-*
Then you can activate the plugin via the menu Tools/Plugin manager. I advise you to use geany-latex, geany-macro, multiterms, extra-selection. Here are the personalized building commands I use in Geany:
- for pdflatex:
pdflatex --file-line-error-style -synctex=1 "%f"
- for bibtex:
- to show the pdf (with synctex to show current paragraph):
qpdfview --unique %e.pdf#src:%f:%l:0 &
- to export a bib file based on the aux file of the current document (require JabRef see below):
java -jar ~/bin/JabRef-3.8.2.jar -a %e.aux,%e.bib -n true -i,bibtex ~/Ma_base_de_papier.bib
%f represents the full file name
%e represents the file name without extension
%f:%l:%0 indicates to show pdf at the page corresponding to the current line of the tex file opened in Geany.
You can also synchronize geany with the pdf viewer "qpdfview" as explained here. In short, to go from clik in pdf to correct line in tex file just set this in qpdfview's "Source editor" setting: geany %1:%2:%3
Geany works on linux, mac and window.
Libreoffice Impress is the tool I use now to create the slides for my talks, mainly because I can work on both my linux desktop and on my Mac OS laptop. I use a homemade templates where I have chosen latex font (latin modern) for the text. This allows to use texmath (a libreoffice extension) to add equations and text that look exactly like the text written in libreoffice. I use another extension (Expand Animation) to export the slides in pdf including the animation as various pages of the final pdf. Sadly, Impress is not yet compatible with svg and the only way to import figure from Inkscape is to save them in jpeg (with a 150ppi resolution at least). One very good point of libreoffice is that you can define a lot of keyboard shortcut (and even save this configuration file to have the same shortcut on all your computers). The final good point is that "odp" files will very likely be more easy to open after 10 years since it is an open format.
You can find here the various extensions, font files and templates I use for my slides.
Jabref is a very good GNU bibliography manager working on every platform. It can run plugins that are very helpful, and it links your pdf files to your entries in your database. You can download jabref here. Jabref is a wonderful tool if you use it systematically: each time you download a paper, add it to your jabref database to store it. No more trouble to remember where you put a paper: You can just search for it in jabref. You can create groups which means that you don’t need to copy your files into many different folders, just put them into several groups… Another advantage is that you can create a database from the paper you are writing: you just have many citations in a paper and you would like to explore them. No problem: use the tools -> New subdatabase based on AUX file. It will create a database with all the paper you have cited. Then, because your database know where the files are, you can explore all the files easily...
Another interesting feature is the html export of your database. This produce the nice bibliography table of publication page of this blog.
KeePassX is a GNU password manager that stores all your logins and password into a database that is encrypted. So if you'd like to just remember one strong password, try this very good tool. Your password database will be locked after a time you can set and your clipboard can also be cleaned the same way. For Linux, an autotype function exists so that you can login easily. You can download KeePassX here.
Inkscape is an awesome vectorial drawing program. You can plot curves using their mathematical expressions or create latex formula thanks to its plugins. The fill and stroke panel (in object) is a central panel you should use all the time to set the color, the fillings and the line types. Don't worry if you don't find at the beginning all the tools you look for: search more you will see in the end nothing is better than inkscape as a (free) vectorial drawing program.
Rsync is a linux command that you can use to compare two directories and update one according to the other one. I use it to synchronise my desktop and laptop data whenever I work outside the lab. You can synchronize your file remotly using an ssh connection.
sshfs is useful to work on files that are on another computer as if they were on your own computer. It just mount the remote folder somewhere in your file system.
Gnuplot is a very good tool to create plots and even why not to draw few things. You must use it with scripts and latex terminal. Create your own linestyles, and then re-use all the time the same script files.
I use gnuplot with the two following scripts to create my figures:
- The first script is a bash script (figmaker.txt) that execute a gnuplot script (plotmaker.txt), then it runs latex to create the text and then it converts the figure into eps. Don’t use files called figure in the folder where you execute these two scripts. The gnuplot script (plotmaker.txt) contains the instructions to plot. You must modify it according to what you want to plot.
- The figmaker.txt script is just a text file with a bash script inside to run gnuplot and latex and clean the directory afterwards. To execute it, just write
into a terminal. Use the commande: sudo chmod +x figmaker
to give the execution rights to this file if you cannot run it.
Pandoc is a universal document converter. It uses as input documents in markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, OPML, Emacs Org-Mode, Txt2Tags, Microsoft Word docx, LibreOffice ODT, EPUB, or Haddock markup. Many output format are available.
For instance, to convert a wikipedia page, copy paste in the text file "wiki.txt" its wiki code. Then, use the command to get a tex file:
pandoc wiki.txt -f mediawiki -t latex --standalone -o output.tex
After a few corrections of the compilation error of latex (for instance if the wiki page contains greek latters directly written in greek not using math environement), you will get a nice latex version of the wikipedia article.
pdfunite file1.pdf file2.pdf file3.pdf merged.pdf
and the file merged.pdf will include the former files.
--- Software I used in the past ---
For Mac users: Keynote'09 is a tool to make slides for your talks. Associated with latex'it, this is just perfect. You can drag and drop formulas from latex'it to keynote and vice versa. This feature is not working in more recent versions of Keynote (Explaining why I have switched to Libreoffice). The alignment tool, the option to draw and the templates are also very good.
Texmaker is another very good tex editor. I have some trouble with french accent (I must recompile to be able to write accent after some random time) so I also use the text editor Geany associated with qpdfview.