- Łukasz Stelmach – Java JBoss Linux - http://blog.stelmisoft.pl -

Dostępne formaty prezentacji w LaTeX

Podczas tworzenia prezentacji w LaTeXu przy użyciu rozszerzenia Beamer prędzej czy później trzeba będzie wybrać jej odpowiedni wygląd. W przypadku Beamera do dyspozycji mamy:

Istnieje strona Beamer Theme Matrix [1], gdzie można obejrzeć jak wygląda każdy z tych tematów, ale najlepiej sprawdzić to na własnej prezentacji. Można to zrobić ręcznie, modyfikując odpowiednie parametry w prezentacji, ale roboty z tym trochę jest. Druga możliwość to utworzenie skryptu, który wygeneruje dla nas prezentację w wybranych formatach.

Utworzenie prezentacji przy użyciu zdefiniowanych styli

Jestem z natury leniwym człowiekiem, więc prościej było napisać krótki skrypt, który w razie potrzeby zapisze mi prezentację w każdym dostępnym formacie, a ja będę mógł wybrać sobie ten, który mi najbardziej pasuje. Skrypt generujący prezentację we wszystkich dostępnych tematach:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

# theme list
#THEMES="AnnArbor Antibes Bergen Berkeley Berlin Boadilla boxes CambridgeUS Copenhagen Darmstadt default Dresden Frankfurt Goettingen Hannover Ilmenau JuanLesPins Luebeck Madrid Malmoe Marburg Montpellier PaloAlto Pittsburgh Rochester Singapore Szeged Warsaw"

THEMES=`ls /usr/share/texmf/tex/latex/beamer/themes/theme/ | grep "^beam" | cut -d . -f 1  | sed "s/beamertheme//" | tr '\n' ' '`

TEX_FILE="subversion-jak_dziala-prezentacja"
OUTPUT_DIR="out"

for THEME in $THEMES
do
        INPUT_FILE="$TEX_FILE.tex"
        OUTPUT_FILE="$TEX_FILE-theme-$THEME.tex"

        cp $INPUT_FILE $OUTPUT_FILE
        sed -i "s/^\\\usetheme.*/\\\usetheme{$THEME}/" $OUTPUT_FILE

        pdflatex -output-directory=out $OUTPUT_FILE
        pdflatex -output-directory=out $OUTPUT_FILE

        rm $OUTPUT_FILE
done;

Krótkie wyjaśnienie tego co się w nim dzieje:

Utworzenie prezentacji przy użyciu dostępnych kolorów

Skrypt ten przypomina bardzo poprzedni, więc omówię tylko różnice pomiędzy nimi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

# colors list
#COLORS="albatross beaver beetle crane default dolphin dove fly lily orchid rose seagull seahorse sidebartab structure whale wolverine"

COLORS=`ls /usr/share/texmf/tex/latex/beamer/themes/color/ | grep "^beamer" | cut -d . -f 1 | sed "s/beamercolortheme//" | tr '\n' ' '`

TEX_FILE="subversion-jak_dziala-prezentacja"
OUTPUT_DIR="out"

for COLOR in $COLORS
do
        INPUT_FILE="$TEX_FILE.tex"
        OUTPUT_FILE="$TEX_FILE-color-$COLOR.tex"

        cp $INPUT_FILE $OUTPUT_FILE
        sed -i "s/^\\\\usecolortheme.*/\\\\usecolortheme{$COLOR}/" $OUTPUT_FILE

        pdflatex -output-directory=out $OUTPUT_FILE
        pdflatex -output-directory=out $OUTPUT_FILE

        rm $OUTPUT_FILE
done;

Utworzenie prezentacji przy użyciu dostępnych czcionek

Ostatnim skryptem będzie ten, który generuje prezentację dla wybranych czcionek:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

# theme list
#FONTS="default professionalfonts serif structurebold structureitalicserif structuresmallcapsserif"

FONTS=`ls /usr/share/texmf/tex/latex/beamer/themes/font/ | grep '^beamerfonttheme' | cut -d . -f 1 | sed "s/beamerfonttheme//" | tr '\n' ' '`

TEX_FILE="subversion-jak_dziala-prezentacja"
OUTPUT_DIR="out"

for FONT in $FONTS
do
        INPUT_FILE="$TEX_FILE.tex"
        OUTPUT_FILE="$TEX_FILE-font-$FONT.tex"

        cp $INPUT_FILE $OUTPUT_FILE
        sed -i "s/^\\\usefonttheme.*/\\\usefonttheme{$FONT}/" $OUTPUT_FILE

        pdflatex -output-directory=out $OUTPUT_FILE
        pdflatex -output-directory=out $OUTPUT_FILE

        rm $OUTPUT_FILE
done;

Różnice jak powyżej, w linii 6 definicja dostępnych formatów czcionek. A w linii 17 zmiana wartości na aktualnie wybraną czcionkę.

Skrypty te powinny pomóc w wyborze odpowiedniego tematu dla prezentacji, co powinno ułatwić zarówno jej tworzenie jak i późniejszy odbiór.

Źródła