Skip to content

Instantly share code, notes, and snippets.

@muzimuzhi
Last active June 28, 2019 03:31
Show Gist options
  • Save muzimuzhi/7d4060ac3b772fe80bb70952e6d6adcf to your computer and use it in GitHub Desktop.
Save muzimuzhi/7d4060ac3b772fe80bb70952e6d6adcf to your computer and use it in GitHub Desktop.
Fix PDF hyperlinks produced by LaTeX package `pgfpages`
#!/bin/bash
# CAUTION: tested on macOS only
TEXFILE='main.tex'
SUFFIX_NORMAL='normal'
SUFFIX_MERGED='nup'
XDVIPDFMX_OPTIONS=''
# XDVOPT='-z0 -C 0x0010'
latexCompile () {
echo 'Input = '${TEXFILE}
suffix=$1
output=${TEXFILE%.*}-${suffix}
echo -n ' Compiling '${output}'.pdf ... '
{
xelatex -no-pdf -8bit -jobname=${output} ${TEXFILE}
xelatex -no-pdf -8bit -jobname=${output} ${TEXFILE}
xdvipdfmx ${XDVIPDFMX_OPTIONS} ${output}
} &> /dev/null
echo 'done'
}
# normal output
sed -i '' 's/^\(\\usepackage{pgfpages}\)/%\1/g' ${TEXFILE}
sed -i '' 's/^\(\\\pgfpagesuselayout\)/%\1/g' ${TEXFILE}
latexCompile ${SUFFIX_NORMAL}
# merged output
sed -i '' 's/^%\(\\usepackage{pgfpages}\)/\1/g' ${TEXFILE}
sed -i '' 's/^%\(\\\pgfpagesuselayout\)/\1/g' ${TEXFILE}
latexCompile ${SUFFIX_MERGED}
rm *.aux *.log *.out *.xdv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment