08/09/2017

How to get okular to play nice with pretty much all embedded movies

The trick is to have VLC play them, because vlc plays basically everything.
Install via apt-get either phonon4qt5-backend-vlc or phonon-backend-vlc or both.
In System Settings -> Audio and Video, prefer 'Phonon VLC' in the backend tab. If in doubt, restart Okular.

13/04/2017

Beamer to pptx via LibreOffice.

Notes on getting your beamer slides into PowerPoint via LibreOffice without too much postediting. (AKA boss asks you for a few quick slides from a recent presentation. Gah, I wish I'd figured out the tricks below last Monday)

Standard procedure:
  • Open PDF in LibreOffice Draw. 
  • Save as ODP (or as odg and rename the extension to odp).
  • Open in Impress. Fix display issues. Save as PPTX. Pray.

How to prepare your LaTeX source in order to minimise postediting:
  • Use a recent libreoffice. There were some improvements of the PDF import with regard to text spacing in 2014 which should have been implemented by version 5.x.
  • Speaking of text spacing: avoid justification. Best switch it off globally with the ragged2e package.
  • Don't use PDF figures. Convert to PNG if necessary.
  • Forget about conversion-proofing equations, take screenshots and add them afterwards as pictures. They will get screwed up during PDF import and then there's the issue of LibreOffice vs. PowerPoint math editors.
  • Use LuaLaTeX with a Microsoft system TTF font and switch off ligatures. (note setsansfont vs. setmainfont for beamer!)
  • Don't worry about advanced figure/text block positioning with columns or tikz pictures.  That stuff transferred surprisingly well.

Minimum example:

\documentclass{beamer}
\usepackage[document]{ragged2e}
\usepackage{fontspec}
\setsansfont[Ligatures = {NoRequired, NoCommon, NoContextual}]{Arial}
\usepackage{lipsum}
\begin{document}
 \frame{\frametitle{Lorem Ipsum}\lipsum[1]}
\end{document}



06/03/2017

Greek letters via compose key

h/t to Peter Williams: https://newton.cx/~peter/2013/04/typing-greek-letters-easily-on-linux/
If you don't have an .XCompose file in your home directory yet, copy the default file (replace locale if necessary, e.g. 'de_DE.UTF-8'):
cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose
The file in your home directory should take precedence over the one in /usr/share/… The default XCompose file already has the greek letter mapped using a key (line 5357 in my instance). If you don't have a Greek dead key defined in your key map, you can just switch to a different Compose prefix - e.g. 
<dead_greek> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA 
to 
<Multi_key> <g> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA 
which produces δ via <Compose>-g-d. I had to restart my application (e.g. LibreOffice) for the changes to take effect, but needed no logout/restart.
Also, sometimes the damn letters don't show up. It took me a while to realise that this might have something to do with the font in use not having them implemented (*headdesk*)

19/02/2017

Garmin Fenix 3: maxing out the battery life.

Some settings culled from a couple of forum threads and the official Garmin manuals. Go into the watch menu by pressing and holding Up, then choose Settings with the Go button. The following settings can affect battery life.

GPS tracks by Garmin user canopenerboy
Apps:
  • Run (or whatever app you will use to record/navigate) →GPS →UltraTrack. In this mode, the GPS records, is switched off for a minute or so, on again, reacquires a signal, records, etc. This will extend the battery life, but considering how hard it is to get a fix while moving, it can result in really dodgy data. At least make sure your EPO is up to date. (http://www.javawa.nl/epo_en.html)
    Or better, skip UltraTrack and carry a charger (see below).  
Watch Face:
  •  Seconds Style. Pick one without a seconds hand/counter, so the watch face only updates every minute.
Sensors:
Very thoughtful when you're ultra training.
  • Compass →Mode →off. I doubt this will seriously dent the battery life, though. Altimeter and barometer can't be disabled.
Bluetooth: Status →off

Activity Tracking: Status →off. Duh. Unless you can't live without Insights.

System:
  • Backlight: Mode manual, short timeout, reduce brightness.
  • Sounds: No one needs key tones. I'd keep alert tones, but switch off vibration. Shaking a steel watch consumes a lot of energy.
  • GLONASS: off. Unless you have GPS location troubles and know that the added GLONASS helps.
  •  Data recording: "Smart" only reduces file size, not battery life. Garmin's .fit format is pretty compact (ballpark number: 100KB/h at the non-smart 1Hz recording rate) and you've got about 20MB of free space, so it's probably more useful to clean out/backup all .fit files from previous activities (GARMIN/ACTIVITY subfolder on the watch in mass storage mode)
  • USB mode →Garmin. This will keep the watch data screens up if you charge during recording. The battery capacity is 300mAh, so even a compact 3000mAh lipstick power bank should be good for a couple of recharges and the watch can be worn with the charger clip attached.

My test run was about 10h in navigation mode, temperatures around freezing, all of the above settings except for UltraTrack (off), Compass (on), recording rate (1Hz, standard). Battery was down to 40%, so the advertised 16h battery life seems to be quite correct.

24/01/2017

LuaLaTeX, TeXlive, beamer and multimedia

 


Sometimes you need beamer to be a bit more, er, powerpointy. E.g., use a TTF font, have a more or less blank page and cram some text, images and movies on there. LuaLaTeX to the rescue. I installed texlive-xetex and texlive-luatex, got myself a minimal beamer template, started to dump objects into tikzpictures and compiled with lualatex instead of pdflatex. Sadly, what worked fine on TeXLive 2012 at work failed at home with a lot of nasty PDF specific error messages due to some bug in TeXLive 2016. Apparently, to get beamer, multimedia and LuaLaTeX to play nicely together, you need to add a \RequirePackage{luatex85} as the first line in your document. So here's a minimal example in very bad taste.

%\RequirePackage{luatex85} %uncomment for texlive 2016
\documentclass[gray]{beamer}
\usepackage[english]{babel}
\usepackage{fontspec}
\setsansfont[Path = fonts/,
    Extension = .ttf,
    Ligatures = TeX,
    BoldFont = comicbd ]
{comic}%use \setmainfont for non-beamer
\usepackage{amsmath}
\usepackage{multimedia}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}{}
\setbeamertemplate{itemize items}[circle]
\begin{document}
\begin{frame}[plain]
\frametitle{Science is fun!}
\begin{columns} \begin{column}{.5\textwidth}
\begin{itemize} \item random equation! \end{itemize}
\begin{align*} \rho\left(\frac{\partial}{\partial t}+\vec{u}\cdot\vec{\nabla}\right)\vec{u} &= -\vec{\nabla} p + \eta \nabla^2\vec{u}\\
\vec{\nabla}\cdot\vec{u} &=0 \end{align*}
\end{column} \begin{column}{.5\textwidth} \movie{\includegraphics[width=\textwidth]{movieposter}}{demomovie.avi} \begin{itemize} \item random animation! \end{itemize}
\end{column} \end{columns}
\end{frame}
\end{document}
Notes: I kept the TTF fonts in a subfolder 'fonts' next to the .tex source file. Font names correspond to the ttf file names without extensions (i.e. comic.ttf, comicbd.ttf). LuaLaTeX also works with system fonts, but then you're at the mercy of your font manager. In that case, just \setsansfont{comic} should work as well.
Beamer's default font style is sans serif. For serif font styles, use \setmainfont instead.