Anki
Official installer
Download and extract the installer from here, then install using (no sudo needed):
env PREFIX=$HOME/.local ./install.shFix the icon directory for launchers:
mv ~/.local/share/pixmaps/anki.png ~/.local/share/icons/anki.png
rm -rf ~/.local/share/pixmapsPre-built Python wheels
The latest released Anki can be checked at PyPI. To install python from pre-built wheels, first create and activate a virtual environment:
python -m venv --system-site-packages .venvThe package python-pyqt6-webengine will also be needed. Prefer your system's package manager to install it.
pip install --upgrade aqtOn newer Linux that upgraded glibc, start anki with either:
| Environment variable | Description |
|---|---|
QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox | Use system Qt instead. |
DISABLE_QT5_COMPAT=1 | Force anki to run using Qt6. (2.1.50+) |
Fcitx support
Find the system's and Anki's platforminputcontexts directory and symlink the fcitx plugin.
Qt5
ln -s /usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so \
~/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platforminputcontextsQt6
ln -s /usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so \
~/.local/lib/python3.10/site-packages/PyQt6/Qt6/plugins/platforminputcontextsBuild locally
Firstly clone anki repository from here
Install bazel
Anki requires a specific bazel version. Check the required bazel version with:
cat .bazelversionIf the required bazel version is, for example, 5.0.0, download bazel-5.0.0-linux-x86_64 manually at the bazel release page.
To download from the command line, use:
curl --location --output ~/.local/bin/bazel "https://github.com/bazelbuild/bazel/releases/download/5.0.0/bazel-5.0.0-linux-x86_64"Finally add execution permission to the binary:
chmod u+x ~/.local/bin/bazelBuild and install anki
At least python 3.8 is required.
./tools/build
pip install --user --upgrade bazel-dist/*.whlAnki then can be executed by typing anki on the terminal.
LaTeX support
Install
For code syntax highlight texlive-minted and pygmentize is needed. On Arch Linux, install texlive-latexextra and python-pygments.
When compiling the LaTeX code, we will need the -shell-escape extra argument. For that, install Edit LaTeX build process add-on, and update the arguments in its configuration file. Add the argument for both PNG and SVG compilers. Restart Anki.
Configuration
Now we can focus on updating our LaTeX document. Go to Tools > Manage note types, select the note type, click Options, and update the header and footer.
> Header
\documentclass[10pt,a5paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{minted}
\pagestyle{empty}
\begin{document}> Footer
\end{document}Check Create scalable images with dvisvgm to generate SVG instead of PNG.
Usage
When editing cards, make sure to use the HTML editor, because Anki adds some HTML elements by default. Those elements may cause LaTeX to fail to compile.
[latex]
\begin{minted}[frame=single,framesep=2mm]{py}
name = 'Tom' # My name is Tom
\end{minted}
[/latex]