>> wybierz styl >> es :: ns :: bs

Tworzenia slajdów w LaTeXu

t.przechlewski 2007, Dokument może być modyfikowany/rozpowszechniany na licencji Creative Commons Attribution License [CC-BY 2.5]


Wprowadzenie

Zapewne niesłusznie ale ,,w temacie'' slajdów/prezentacji jestem zwolennikiem tezy im prościej tym lepiej. Zrobienie czegość graficznie efektownego wymaga dużo pracy a z tzw. efektownych prezentacji zrobionych szybko w MS PowerPoint dumni są tylko ich autorzy bo obiektywnie rzecz biorąc w 99% są to dokumenty-koszmary. BTW na konferencji widząc gościa prezentującego takie ,,dzieło sztuki'' jakoś podświadomie od razu zakładam, że nie ma on nic ciekawego do powiedzenia.

Przechodząc do konkretów: w LaTeXu do tworzenia slajdów można skorzystać z kilku klas/pakietów: seminar, prosper, pdfscreen oraz beamer. Ten ostatni wprawdzie podobno daje wizualnie najbardziej efektowne rezultaty, ale jak wspominałem, ja preferuję prostotę. W szczególności dokumenty beamera pełne są specyficznych dla tego pakietu poleceń, podczas gdy w przypadku pozostałych pakietów slajdy mogą być przygotowane przez prostą modyfikację ,,zwykłego'' dokumentu w LaTeXu (w zasadzie zmiana preambuły + wstawienie w odpowiednie miejsca otoczeń slide).

Zwolennicy super prostoty mogą się nawet obyć bez żadnych specjalizowanych pakietów, rozpoczynając dokument od następującej preambuły (pomysł skopiowany z tej strony).

\documentclass[12pt]{article}
% for landscape
\pdfpagewidth=11in \pdfpageheight=8.5in
\textwidth=10in	\textheight=7.5in \topmargin=-1in
\oddsidemargin=-.5in \evensidemargin=-.5in
\parindent=0pt
\begin{document}
% big, bold, san serif
\Huge\sffamily\bfseries\boldmath

Klasa seminar

Poniżej przykład preambuły wykorzystującej klasę seminar do tworzenia slajdów. Wymiary slajdu maksymalnie wykorzystują kartkę formatu A4 w układzie pionowym. Takie slajdy w zasadzie nadają się tylko do wydrukowania na foliach i pokazywania na tradycyjnych rzutnikach. Jeżeli slajdy miałyby być pokazywane za pomocą projektora, to należy zmienić nastawienia na landscape (usuwając opcję portrait) oraz dopasować wymiary strony za pomocą poleceń \slidewidth oraz \slideheight.

%& --translate-file=il2-pl
%\documentclass{seminar} % domyślne ustawinie: lanscape
\documentclass[portrait]{seminar}
\usepackage{polski}
\usepackage{qpalatin}
%% ustawienia seminar >>>>>>
\slidewidth=19.0cm  %% szerokość slajdu
\slideheight=25.0cm %% wysokość slajdu
\renewcommand{\slideleftmargin}{6mm}
\renewcommand{\sliderightmargin}{6mm}
\renewcommand{\slidetopmargin}{6mm} %%%
\renewcommand{\slidebottommargin}{1mm}
\renewcommand{\slidefuzz}{9pt}
\slideframewidth=.8pt %% grubość ramki (0pt, bez ramki)
\slideframesep=4mm %% margines wewnętrzny ramki
\slidesmag{3} % stopień pisma, l. całkowita od -5 do 9, domyślnie: 4
%\ptsize{11} %% alternatywny sposób określenia stopnia pisma
%% zdefiniowanie główki-stopki:
%% \newpagestyle{nazwa.stylu}{główka}{stopka}
\newpagestyle{mypagestyle}{}{Krzysztof Przechlewski -- \today \hfil \theslide}
\slidepagestyle{mypagestyle}
\vfuzz9pt %% nie wypisuje ostrzeżeń o overfulach 
%% koniec ustawień seminar 
\begin{document}
%%
\begin{slide}
...
\end{slide}
\end{document}

Uwagi:

Mogą być problemy z układem strony w trybie landscape. Prawidłowy rezultat uzyska się przetwarzając plik DVI do pliku .ps w następujący sposób:

dvips -t landscape plik.dvi

Powstały plik jest gotowy do druku. Dla użytkowników MS Windows powyższy sposób postępowania może być niewygodny, zresztą być może programy typu yap prawidłowo drukują wynikowy plik DVI i nie ma potrzeby korzystania z dvipsa. Nie używam, nie sprawdzałem... BTW polecenia ustawiające wymiar slajdu są dość ,,narowiste'' nie bardzo umiem osiągnąć zadowalający rezultat...

Od pewnego czasu używam seminar z pdflatexem. Po co rozbić coś ,,na okrętkę'' skoro i tak na końcu potrzebny jest PDF? Plik PDF generuję w układzie landscape. Aby wymiary strony były ok, potrzebne jest dodanie następujących ustawień:

\RequirePackage{graphics,color,ifpdf}
\slidewidth=22.0cm \slideheight=17.0cm % do ew. zmiany
\slidesmag{3}
\definecolor{LightGreen}{rgb}{0.78,0.90,0.76}
\pagecolor{LightGreen} % tło
\slideframewidth=.4pt
\ifpdf % to fix problems making landscape seminar pdfs
\pdfpagewidth=297truemm \pdfpageheight=210truemm
\pdfhorigin=1truein \pdfvorigin=1truein
\fi
\setcounter{secnumdepth}{-1} % na wszelki wypadek

Klasa prosper

Poniżej przykład preambuły wykorzystującej klasę prosper do tworzenia slajdów. Slajdy tworzone z wykorzystaniem prospera można drukować na foliach (w tym celu trzeba ustawiać tło na białe), ale lepiej wyświetlać za pomocą projektora, używając np. program Acrobat Reader. Bardziej szczegółowy opis wykorzystania prospera (w j. angielskim jest tutaj).

%& --translate-file=il2-pl
%% see: http://www.math.umbc.edu/~rouben/prosper/
\documentclass[pdf,azure,slideColor,colorBG]{prosper}
%%\documentclass[pdf,gyom,slideColor,colorBG]{prosper}
%%\documentclass[slideColor,colorBG,pdf,autumn]{prosper} 
%%\documentclass[slideBW,nocolorBG]{prosper} %% wersja czarno-biała (do druku)
%% Uwaga na kodowanie polskich znaków (OT4 może nie działać):
\usepackage[T1]{fontenc} 
\usepackage{polski}
%% Zmiana stopnia pisma:
\FontTitle{%
  \usefont{T1}{ptm}{b}{n}\fontsize{20.74pt}{20pt}\selectfont\colC}{%
  \usefont{T1}{ptm}{b}{n}\fontsize{20.74pt}{20pt}\selectfont\colC}
\FontText{%
  \usefont{T1}{ptm}{m}{n}\fontsize{10.0pt}{13pt}\selectfont\colD}{%
  \usefont{T1}{ptm}{m}{n}\fontsize{10.0pt}{13pt}\selectfont\colD}

%%
\title{Programowanie nieliniowe}
%\subtitle{}
\author{Krzysztof Przechlewski}
\email{filarek@wzr.pl}
\institution{Wydział Zarządzania\\ Uniwersytet Gdański\\
  Sopot, Armii Krajowej 119/121}
%%
\begin{document}
\maketitle
%% Stopka na każdym slajdzie, jeżeli nie zdefiniowana, użyta
%% będzie domyślna:
\slideCaption{\copyright\ KP, 2007}
%%
\begin{slide}{Programowanie nieliniowe}
...
\end{slide}
\end{document}

Uwagi:

Mogą być problemy z polskim znakami jeżeli użyjemy fontów w kodowaniu innym niż T1 (lepiej zatem nie korzystać z kodowania typu OT4 itp.)

Dokumenty prospera muszą być przetwarzane ,,tradycyjnym'' LaTeXem (a nie np. pdfLaTeXem) a następnie wynikowy plik powinien być zmieniony na plik PostScriptowy (PS), za pomocą programu dvips (w środowisku typu WinEdit, TeXnicCenter czy Kile jest do tego stosowny guzik):

dvips -t a4 plik.dvi

Następnie powstały plik.ps należy zamienić na plik pdf. Do tego celu należy wykorzystać program (skrypt) ps2pdf z dystrybucji ghostscripta (jest do tego odpowiedni guzik w programach typu WinEdit itp., ale oczywiście do jego prawidłowego działania potrzebny jest np. ghostscript):

ps2pdf -dPDFSETTINGS=/prepress plik.ps  

Opcja -dPDFSETTINGS=/prepress może być pominięta, nie ma ona większego wpływu na wynik zamiany.

Pakiet pdfscreen

Poniżej przykład preambuły wykorzystującej pakiet pdfscreen do tworzenia slajdów. Slajdy tworzone z wykorzystaniem pdfscreena nadają się w zasadzie tylko do wyświetlania za pomocą projektora, przy wykorzystaniu programu Acrobat Reader.

%& --translate-file=il2-pl
\documentclass[a4paper]{article}
\usepackage{polski}
\usepackage{qpalatin}
%%% Ustawienia pdfscreena: >>>>>
\usepackage[screen,panelleft,polish]{pdfscreen}
%% Wersja bez panela:
%%\usepackage[screen,nopanel]{pdfscreen}
\screensize{6.25in}{9.0in} %% wielkość strony
\marginsize{1.5in}{0.5in}{0.5in}{1in} %% marginesy: lewy-prawy-góra-dół
\changeoverlay
\overlay{overlay5.pdf} %% tło
%% Dodanie krótkiej informacji do każdego slajdu:
\let\OriNavigationPanel\NavigationPanel
\def\NavigationPanel{\OriNavigationPanel
\vbox to0mm{\vskip6mm 
\hbox to\panelwidth{\sffamily\hskip.2\panelwidth{\copyright} 
     Krzysztof Przechlewski, \the\year\hss}\vss}}
%%%% koniec ustawień pdfscreena 
\begin{document}
%%
\begin{slide}
...
\end{slide}
\end{document}

Dokumenty korzystające z pakietu pdfscreen należy przetwarzać pdfLaTeXem.

Przykłady

Różne przykłady są tutaj oraz tutaj.

PowrótPowrót


Valid XHTML 1.1!(c) T. Przechlewski; ostatnia zmiana: " Dec 14 14:07:14 CET 2007 tomek"