Add a slides type to new_tex_document
Extraction now takes the whole tree and copies the template out with tar -h, so symlinks into resources/ arrive as real files rather than as links pointing outside the new document. new_beamer_presentation is superseded; cdsc_tex_aliases.sh keeps the name as an alias. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -6,4 +6,5 @@ if command -v new_tex_document > /dev/null 2>&1; then
|
|||||||
alias new_tex_memo='new_tex_document memo'
|
alias new_tex_memo='new_tex_document memo'
|
||||||
alias new_knitr_document='new_tex_document knitr'
|
alias new_knitr_document='new_tex_document knitr'
|
||||||
alias new_tex_letter='new_tex_document letter'
|
alias new_tex_letter='new_tex_document letter'
|
||||||
|
alias new_beamer_presentation='new_tex_document slides'
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ CURDIR=$(pwd)
|
|||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Usage: $(basename "$0") <type> <directory>"
|
echo "Usage: $(basename "$0") <type> <directory>"
|
||||||
echo "Types: paper, memo, knitr, letter"
|
echo "Types: paper, memo, knitr, letter, slides"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,6 +44,12 @@ case "$TYPE" in
|
|||||||
TEMPLATE="letter_template"
|
TEMPLATE="letter_template"
|
||||||
EXT="tex"
|
EXT="tex"
|
||||||
;;
|
;;
|
||||||
|
slides)
|
||||||
|
REPO="$HOME/tex/cdsc_tex"
|
||||||
|
BRANCH="master"
|
||||||
|
TEMPLATE="slides_template"
|
||||||
|
EXT="tex"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "error: unknown type '$TYPE'"
|
echo "error: unknown type '$TYPE'"
|
||||||
usage
|
usage
|
||||||
@@ -56,8 +62,14 @@ if [ -e "$DEST" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
WORK_DIR=$(mktemp -d)
|
WORK_DIR=$(mktemp -d)
|
||||||
|
TREE_DIR=$(mktemp -d)
|
||||||
|
trap 'rm -rf "$TREE_DIR"' EXIT
|
||||||
|
|
||||||
|
# Extract the whole tree, then copy the template out with tar -h, so that
|
||||||
|
# symlinks into resources/ become real files in the new document.
|
||||||
cd "$REPO"
|
cd "$REPO"
|
||||||
git archive --format=tar "$BRANCH" "$TEMPLATE" | tar x --strip=1 -C "$WORK_DIR"
|
git archive --format=tar "$BRANCH" | tar x -C "$TREE_DIR"
|
||||||
|
tar -chf - -C "$TREE_DIR/$TEMPLATE" . | tar x -C "$WORK_DIR"
|
||||||
cd "$CURDIR"
|
cd "$CURDIR"
|
||||||
mv "$WORK_DIR" "$DEST"
|
mv "$WORK_DIR" "$DEST"
|
||||||
cd "$DEST"
|
cd "$DEST"
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Helper script to export LaTeX templates for new documents
|
|
||||||
# Copyright (c) 2009-2022 Benjamin Mako Hill <mako@atdot.cc>
|
|
||||||
# Released under the GPLv3 or later.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
SOURCEDIR="$HOME/tex/beamer-mako"
|
|
||||||
CURDIR=$(pwd)
|
|
||||||
|
|
||||||
if [ -n "$1" ]
|
|
||||||
then
|
|
||||||
if [ -e "$1" ]; then
|
|
||||||
echo "error: '$1' already exists"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
WORK_DIR=$(mktemp -d)
|
|
||||||
cd "$SOURCEDIR"
|
|
||||||
git archive --format=tar HEAD template | tar x --strip=1 -C "$WORK_DIR"
|
|
||||||
cd "$CURDIR"
|
|
||||||
mv "$WORK_DIR" "$1"
|
|
||||||
|
|
||||||
mv "$1/example.tex" "$1/$(basename "$1").tex"
|
|
||||||
|
|
||||||
# create a symlink farm for the fonts
|
|
||||||
cd "$1"
|
|
||||||
rm -rf ./fonts/*
|
|
||||||
|
|
||||||
# first create the directories
|
|
||||||
for fontdir in "${SOURCEDIR}/template/fonts/"*; do
|
|
||||||
mkdir "./fonts/$(basename "${fontdir}")"
|
|
||||||
# then the files
|
|
||||||
for fontfile in "${fontdir}/"*; do
|
|
||||||
ln -s "${fontfile}" "./fonts/$(basename "${fontdir}")/$(basename "${fontfile}")"
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
cd "$CURDIR"
|
|
||||||
else
|
|
||||||
echo "specify a directory where the template should go"
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user