The third-party web sites listed here are mostly connected with
scientific computing, scientific graphics or scientific
writing, plus a few more general items. Star ratings (★-★★★★★)
indicate my personal, subjective assessment of their design and
usefulness.
The symbol B
indicates recommended starting points for beginners in the area.
Consider searching for B or
★★★★★ using your browser’s Find
command.
Listings are provided without warranty. Many of these links point to
browser-based tools or even apps that need to be installed on your
computer. As always, you should be extremely careful to assure yourself
that the source is trustworthy, especially before pasting any sensitive
text (e.g. passwords) into your browser or installing an app.
Jump to: LaTeX |
Graphics and PDF
tools | Python | Linux | Collaboration and Communication | Miscellaneous
LaTeX (a document
preparation system)
B
My brief advice for beginners on getting started with
LaTeX
- Don’t bother to install LaTeX on your computer. Instead, set up a
free account on Overleaf.com and
use LaTeX through your web browser.
- Try out some of the templates supplied by Overleaf, and/or some
examples from the tutorials below.
- As you gain experience, you may wish to install LaTeX locally for
the occasional offline task, but Overleaf is the best choice for most
things.
- For handling references, use BibLaTeX if you can,
though the less flexible BibTeX is mandated by many journals.
Tutorials
Documentation
Some favourite LaTeX
packages
(All these packages are available in TeXLive and in Overleaf.com.
Place the relevant usepackage command in your document’s
preamble.)
- Font packages (to replace the default Computer Modern LaTeX
font for both text and mathematics):
- Enhanced tables: longtable or array ★★★★
- fancyhdr ★★
- lastpage ★★
- RevTeX mandatory for
Physical Review journals ★★★★
- TikZ / PGF for diagrams
etc. (an alternative to drawing programs) ★★
- Beamer for making
presentation slides or posters (in PDF format) ★★★★
- showlabels (for
temporarily printing the names of equations and Figures in margins to
assist the writing process)
- markdown ★★★ Allows use of the excellent lightweight
markup language Markdown (see below) inside a LaTeX
document.
- tcolorbox ★★★★ (coloured boxes for examples etc.)
LaTeX editors
- TeXStudio ★★★★★ (Linux, Mac, Windows)
- TeXShop ★★★ (Mac: comes with MacTeX TexLive
distribution)
- TeXMaker ★★★★ (Linux, Mac, Windows)
- TeXnicCenter ★★★ (Windows)
- Gummi ★★★ (Linux, Windows) (includes live-update
preview pane)
- See also online LaTeX editors below, notably
Overleaf.com ★★★★★
B
LaTeX
distributions (to install on your own computer)
- TexLive (Linux, Mac,
Windows) ★★★★★ B
- BibTeX
★★★★ The original, with somewhat
inflexible styles, but required by many journals
- BibLaTeX
★★★★★ More flexible bibliography
styles
- Note that both BibLaTeX and BibTeX read the same .bib
files; they differ in how your references are processed into the printed
bibliography.
- See below for tools to edit .bib files, generate .bib files from
Zotero, convert references to .bib entries (e.g. Crossref), etc.
- lacheck
LaTeX checker ★★★★★ B for
clear help tracking down problems (LaTeX’s own error messages can be
obscure even for simple errors)
- ChkTeX LaTeX checker ★★★★ B for
further help tracking down problems. (Works best with short lines, so
recommended usage is fold -s document.tex | chktex .)
- latexdiff ★★★★ for producing a marked-up LaTeX document
showing changes (see also online version below). May fail on complex
documents.
- LibreOffice Writer’s “Compare Documents” feature (also available in
other word processors) is handy for producing an easy-to-absorb display
of changes to the LaTeX source
- The Pandoc document
converter ★★★★★ (e.g. HTML or
Markdown to/from LaTeX or Beamer)
- JabRef reference manager ★★★★★
- BibDesk reference manager
(for Macintosh) ★★★★
- Zotero reference manager ★★★★
- plus Zotero’s
BetterBibTeX add-on ★★★★★ for smart
import/export of BibTeX .bib files
- See also section on Publication references, DOIs, BibTeX, etc.
below
- MathPix ★★★★ Mac and iOS apps that convert (using
Mathpix’s servers) an image of a handwritten or PDF equation into LaTeX!
Works very well.
- latexmk command for
automating LaTeX / BibTeX compilation ★★★★
Forums and blogs
B
My brief advice for beginners on preparing scientific
graphics:
- Prepare each Figure as a stand-alone PDF (with cropped margins: see
pdfcrop below), and include it in your LaTeX document.
- For graphs etc., use matplotlib or Plotly in Python.
- For diagrams, use LibreOffice Draw or draw.io.
- Geogebra is handy for producing geometrical or mathematical parts of
a diagram which can easily be imported into a diagram in SVG or PDF
format.
- Note that the Codecogs LaTeX equation editor can now export an image
of an equation in SVG format.
- If you prefer to draw diagrams “programmatically” rather than with a
mouse, consider TikZ.
- LibreOffice Draw is notably adept at editing PDFs (e.g. joining two
PDFs into a single Figure).
- Draw.io - excellent online drawing
program ★★★★★ B
Excellent for scientific diagrams. Also has a huge amount of clip art
built in.
- LibreOffice Draw ★★★★ B is
a good drawing programme e.g. for scientific diagrams. It is notably
capable for cropping and joining PDF drawings (e.g. making a two-part
Figure from two PDFs)
- B
Geogebra.org ★★★★★ excellent online supercharged “graphing
calculator” to make graphs, animations, etc. of functions, as “applets”,
which can also be combined into “Activities”. Symbolic capabilities too.
In the cloud, with good export capabilities.
- Ipe drawing editor ★★★★ (lightweight editor, suitable for
scientific diagrams)
- Inkscape drawing editor ★★★ (heavyweight)
- Desmos.com ★★★ Graphing calculator, very slick and
professional to use, but less sophisticated than Geogebra, However, can
export graphs in SVG as well as PNG.
- See also the TikZ package ★★★★
(under LaTeX above: script-driven graphics)
- PDF-Arranger
★★★★★ B GUI
tool for combining, splitting or reordering PDFs. Formerly known as PDF
Shuffler. (Linux)
- PDF Toolkit
(pdftk) ★★★ command-line tool for
combining, splitting or reordering PDFs
- pdfcrop ★★★★★ command-line tool for cropping white
space from the edges of a PDF Figure (comes with e.g. TeXLive)
- Okular PDF
reader ★★★★ B a
good all-round PDF viewer for Linux which can be used to annotate
PDFs
- The Evince PDF
reader ★★★ B
(the built-in Document Viewer in Gnome/Ubuntu) is also a fairly good PDF
viewer for Linux which can now annotate PDFs
- On Macs, the built-in Preview viewer ★★★★ B is
a great PDF viewer and annotation tool
- Easy PDF ★★★★ Online PDF conversion to editable Excel,
Word, etc.
- LibreOffice Draw ★★★★ is very
capable for cropping and joining PDF drawings (e.g. making a two-part
Figure from two PDFs)
Python (a programming
language)
B
My brief advice for beginners on getting started with
Python
- Install and use the Anaconda
distribution of Python 3 on your computer, even if your operating system
comes with its own version of Python: Anaconda properly sets up
everything you need for scientific computing in Python 3, including
python, numpy, scipy, matplotlib, ipython, jupyter and
spyder. Anaconda uses the conda package
manager (rather than pip).
- Try working with Python in a Jupyter Notebook (see below)
- Try some examples (focusing on NumPy and Matplotlib) from the
tutorials below.
- Use Python 3. Python 2 is obsolete.
Official web site
Python distributions
- The Anaconda Python
distribution Comprehensive, easy to use and fast ★★★★★ B
Uses the conda package management system (in preference to
pip)
- Python and associated libraries and tools are also available as
Ubuntu packages ★★★★
- The IPython “shell” (optimised for
numerical and graphical Python use from the terminal) ★★★★
- Also the closely related Jupyter console and Jupyter
qtconsole ★★★★ which are more
advanced versions of iPython
- The Spyder development
environment (works well with IPython) ★★★★
- Visual Studio Code
editor ★★★★ comes with excellent
Python extensions and is very popular for general Python code
development. Open-source, originally from Microsoft. Can read and write
Jupyter notebooks directly, to some extent.
- See also Jupyter (Notebooks and JupyterLab) below (Jupyter comes
from the IPython people)
Jupyter Notebooks and Jupyter
Lab
Some
favourite Python libraries, modules and add-ons
- NumPy numerical libraries ★★★★★ B
Very important huge library for fast numerical calculations. Also
includes useful links to other major packages for scientific computing.
- SciPy numerical libraries ★★★★
- MatPlotLib scientific graphics
★★★★★
- Numba ★★★★★ (wonderful automatic
generation of fast compiled C code from Python functions)
- Pandas ★★★★★ Excellent library for reading,
analysing, plotting and writing data (including spreadsheet and CSV
read/write)
- Cython ★★★★ (generates fast compiled C code from
Python with some manual modification)
- F2py ★★★ for calling fast, compiled Fortran
subroutines from Python(part of SciPy)
Tutorials and books
Forums and blogs
- Python (tag
on StackOverflow) ★★★
- Matplotlib
graphics library (tag on StackOverflow) ★★★★
- NumPy
numerical libraries (tag on StackOverflow) ★★★★
- SciPy
numerical libraries (tag on StackOverflow) ★★★
Linux (an operating system)
B
My brief advice for beginners on getting started with
Linux:
- Download Ubuntu
and make a bootable USB stick
- Use the USB stick to try out Ubuntu, and if you like it, to install
Ubuntu on your computer (either alongside or in place of the existing
operating system)
- For less powerful computers (e.g. more than 5 years old), I
recommend you try Lubuntu, a lightweight
version of Ubuntu
Official sites
Some
favourite Ubuntu packages (details in the Ubuntu packages site
above and, in some cases, elsewhere on the present page)
- abiword asymptote geany geany-plugins gfortran glabels grace
gufw ipe latexdiff latexmk meld okular pandoc pdfarranger pdftk retext
texlive-full texmaker w3m openssh-server
- Install with “apt-get install …” or using the Ubuntu Software
Centre
Tutorials
Forums and blogs
- Meetingwords ★★★★★ Similar to the former Etherpad, good
for intensive short-term simultaneous collaborative editing of
text.
- Google Docs ★★★★★ (good for longer-term and more complex
documents, and spreadsheets)
- Miro.com ★★★★★ Collaborative whiteboard
- Twiddla collaborative
whiteboard ★★★★ (note that
whiteboard created free of charge only last for 20 minutes)
- See also Overleaf.com above for collaborative
editing of LaTeX documents
- See also Google Colab above for collaborative
editing of Jupyter notebooks (Python)
- Group Libraries within Zotero (see above for link to Zotero and its
BetterBibTeX add-on)
- Slack.com ★★★★ very good project-based communication
tool for group working (used by our group)
- Trello ★★★ (powerful progress tracker for complex
team or solo projects)
Videoconferencing
- Zoom ★★★★★ Videoconferencing (free with some
limitations)
- Google Meet ★★★★ Videoconferencing (free with some
limitations)
- Skype ★★★
Miscellaneous
Writing
Online text tools
Computer
algebra and symbolic graphing calculators
- B
Wolfram Alpha ★★★★ Highly intelligent engine for doing
calculus, plotting (static) graphs, etc. Free version can sometimes run
out of steam.
- SymPy ★★★★ Python’s symbolic algebra package. Now
rather powerful. Like Mathematica and Maple, there is something of a
learning curve, but the combination of symbolic algebra with Python’s
numerical libraries and familiar programmability make for a useful
combination. A good choice for users for whose problems Wolfram Alpha
has run out of steam, especially those with prior experience of
Python.
- Geogebra.org ★★★★ Excellent super-powerful graphing
calculator including animated graphs, extensive symbolic capabilities,
LaTeX, SVG export. Online in the cloud, or apps available for iOS, Mac,
etc.
- Wolfram Development
Platform ★★★ Intermediate between
Wolfram Alpha and Mathematica. Powerful, though documentation chaotic.
Note “free-form” input is flexible, like Wolfram Alpha. Requires free
registration.
- Symbolab ★★★ Basic graphing plus some symbolic
capabilities.
- See also the well-known (and very complex) commercial packages
Mathematica and Maple available on UoY Windows PCs (and also via the UoY
browser-based York Desktop Service).
- Geany editor ★★★★★ B
(code/text editor and lightweight integrated development environment
with excellent plugins)
- VS Code editor ★★★★ comes with excellent extensions and is
very popular for general code development. Open-source, originally from
Microsoft.
- For Python-specific development environments, see earlier,
e.g. Spyder.
Funding of Open Source
software
- NumFOCUS.org ★★★★★ Charitable funding of significant
open-source projects. Their lists of sponsored and affiliated projects
signify Python libraries that are likely to be around for a while.
Version control
- DNSchecker
★★★★ Get all DNS records for a domain,
presented in a clear, convenient list
- MX Toolbox ★★★★ Query many different aspects of an
internet domain or computer
- Whois.com ★★★ Look up “whois” info about an internet
domain
General references on
numerical methods
- NAG Fortran
Library manual ★★★★ (HTML and PDF
formats; see in particular the excellent Chapter Introductions which are
relevant to all numerical computation)
- Numerical Recipes books ★★★ (including Fortran versions of the book
available free of charge)
Awaiting categorisation
and/or analysis
Last updated Sep 2026.
Comments on this page are welcome.
Some of the links were originally listed as long ago as 2013 and may
therefore be of less current relevance than their star rating indicates.
Feel free to bring such cases to my attention.
Rex Godby’s home
page