czwartek, 9 września 2010

Czysta strona w prezentacji i problem ostatniego slajdu

Trochę znajomych osób trochę narzeka na mnie ostatnio, że nic nowego na blogu nie piszę. Cóż trzeba się trochę poprawić, mimo niezbyt dużej ilości wolnego czasu ostatnio. Przygotowałem więc krótki wpis na temat tego, z czym się ostatnio męczyłem.

Tworząc prezentację z wykorzystaniem systemu składu tekstu LaTeX, a dokładniej pakietu beamer, wykorzystujemy zazwyczaj jeden ze zdefiniowanych szablonów wyglądu prezentacji. Powoduje to, że nagłówek, stopka i inne jeszcze elementy w całej prezentacji będą wyglądać tak samo. Chcąc zmienić wygląd naszej prezentacji wystarczy modyfikacja jednej linijki (ewentualnie dwóch) w preambule dokumentu i już całkowicie zmienia się nam wygląd prezentacji. Tabelę jakie są dostępne szablony prezentacji można zobaczyć tutaj: http://www.hartwork.org/beamer-theme-matrix/. Nic oczywiście nie stoi na przeszkodzie aby zdefiniować sobie własny szablon, ale to nie temat na dziś.

Ostatnio potrzebowałem, aby jeden slajd prezentacji wyglądał zupełnie inaczej niż reszta. Nie jest to może eleganckie rozwiązanie, gdyż prezentacje - techniczne zwłaszcza - powinny trzymać się jednego szablonu / wyglądu. Ale czasem chcemy cos bardzo podkreślić i potrzebujemy wtedy jednego innego slajdu.

Jak to osiągnąć? Najpierw pozbądźmy się nagłówka, loga i stopki z prezentacji. Można to wykonać w następujący sposób:



lub jak kto woli:



Dzięki temu zabiegowi (użyciu [plain]) otrzymujemy jeden pusty slajd. No dobra niby ładnie, pięknie, ale jak korzystamy z szablonu, który wstawia navigation bar, to wówczas na slajdzie jest on dalej widoczny. Czym jest ten navigation bar? A no jest to zbiór pewnych przycisków, umieszczanych na slajdach, najczęściej w prawym dolnym rogu. Umożliwiają one nawigację po slajdach, ale są raczej rzadko używane i mają dlatego mało kontrastowy kolor. Przykład takiego paska zamieszczam poniżej (celowo na czarnym tle):


Jak się tego pozbyć? Przykład poniżej:



Rozwiązanie to zaproponował mi Marcin M. (nazwisko znane redakcji), za co serdecznie dziękuję. Co prawda nie spotkałem się z szablonem który miałby tego navigationbar’a ustawionego pionowo (można sobie samemu takiego zrobić za pomocą opcji [vertical]), ale jednak tą ostatnią linijkę lepiej jest zamienić na przywrócenie domyślnych ustawień:



Działa? Działa! Dzięki tym zabiegom otrzymaliśmy pusty slajd. No dobra, ale co nam po pustym slajdzie? Zmieńmy kolor tła:



Komendy te możemy wstawiać pomiędzy slajdami, manipulując przez to tym jak mają wyglądać.

To tyle jeśli chodzi o modyfikację pojedynczego slajdu (lub grupy slajdów) w prezentacji. Jeśli chodzi o inne kolorowanie tekstu na takim slajdzie to zamiast edytować kolory szablonu, lepiej zadeklarować kolor danego tekstu, za pomocą \textcolor.

Chciałem jeszcze opisać problem ostatniego slajdu w prezentacji. Otóż zalecane jest, aby pierwszy i ostatni slajd był taki sam (gdyby się komuś przysnęło na prezentacji, to aby wiedział za co brawa biją ;) ). Czasem jednak pierwszy i ostatni slajd mogą powodować figle już na samej prezentacji. Jako przykład, z życia wzięty, przytoczę historię jaka się przytrafiła Jackowi Laskowskiemu na konferencji 4Developers, opisaną we wpisie: Ochy i echy z piątkowego 4Developers w Poznaniu. Otóż byłem na tej prezentacji i Jacek chce zaczynać, a tu nie może się przełączyć na drugi slajd. Chwila napięcia i „atmosfera gęstnieje”. Na szczęście ktoś z sali zauważył że jest to ostatni slajd a nie pierwszy.

Mi dzisiaj do głowy przyszło, że ok - pierwszy i ostatni slajd powinny wyglądać tak samo - ale pod koniec wystąpienia zazwyczaj się dziękuje za uwagę. Czy jest na to potrzebny osobny slajd? Pomyślałem, że na ostatnim tytułowym slajdzie, można by było od razu podziękować za uwagę. Czy jest to możliwe do zrealizowania w beamer’ze? Po chwili kombinowania okazało się ze tak.

Stronę tytułową wstawiamy w prezentacji za pomocą polecenia \titlepage. Jest ono generowane automatycznie według danego schematu wyglądu prezentacji. Chcą mieć wpływ na to co znajdzie się na prezentacji, w preambule wywołujemy następujące polecenia (nie musimy wszystkich):



Polecenia te zazwyczaj umieszczamy w preambule dokumentu, ale nic nie stoi na przeszkodzie aby później je przedefiniować. Aby wyświetlić ostatnią stronę prezentacji taką jak pierwszą z małą modyfikacją możemy to zrobić następująco:



Przykładowy efekt poniżej:



Jakby komuś przeszkadzało, ze na końcowym slajdzie tytuł jest trochę wyżej, to w preambule może dodać polecenie:



Dzięki temu tekst na pierwszym slajdzie nie będzie widoczny (bo będzie w kolorze tła), ale pozycje pozostałych elementów zostaną wyliczone tak, jakby był ten tekst wyświetlany.

To już koniec na dzisiaj. Mam nadzieję, że moje wywody się komuś przydadzą...