Dokument biznesowy (klasa mkofficial.cls)

Wprowadzenie

Standardowe style LaTeXa, o ile są poręczne do prac naukowych, o tyle niespecjalnie pasują do zastosowań biznesowych. Oczywiście, teoretycznie łatwo można sobie wygląd pierwszej strony czy nagłówków dopasować, w praktyce jednak dla wielu osób staje się to poważnym problemem. Stąd poniższa próba: prosta klasa dokumentu, która stara się nadać dokumentowi składanemu w LaTeXu wygląd zbliżony do paru 'korporacyjnych' szablonów, jakie widziałem (oczywiście szablony te zwykle są dostępne w Wordzie).

Pliki do pobrania

przykład dokumentu złożonego w oparciu o mkofficial

archiwum zawierające klasę i przykład jej wykorzystania

Informacje techniczne

Co obejmuje poniższa klasa? Opierając się na standardowym stylu raport wprowadza kilka nowości:

  • specyficzną stronę tytułową i stronę z informacjami o dokumencie;
  • charakterystyczne nagłówki i (zwłaszcza) stopki;
  • nietypowy sposób rozpoczynania rozdziałów ('eleganckie' tytuły dla \chapter, czcionka bezszeryfowa dla tytułów wszystkich poziomów);
  • oddzielanie akapitów odstępami bez stosowania wcięć (celowo: w dokumentach biznesowych nagminne są bardzo krótkie akapity, akapity gęsto przetykane obrazkami czy wyróznionymi cytatami itp - a dla nich, przynajmniej moim zdaniem, wcięcia wyglądają i wyróżniają gorzej niż odstępy; ekstremalny przykład to sytuacja, gdy mamy trzy kolejne akapity z których każdy mieści się w jednym wierszu);
  • przy zachowaniu 'kropkowanych' list (które w dokumentacji biznesowej stanowią powszechny standard) zmniejszone nadmierne odstępy między ich elementami;
  • zredefiniowana klasa znaku _ (podkreślenie) aby był traktowany jako zwykła litera (przynajmniej w moim wypadku nazwy plików czy zmiennych trafiają się istotnie częściej niż wzory matematyczne, jeśli gdzieś jest inaczej, można tę dyrektywę usunąć).

Celowo ustaliłem rozmiar czcionki oraz wykorzystywane fonty - w szablonie biznesowym takie rzeczy nie powinny podlegać modyfikacjom (oczywiście można zmienić te ustalenia 'raz a dobrze').

Klasa obsługuje opcję twopage, modyfikując przy jej obecności niektóre ustawienia (np. zawartość nagłówka i stopki).

Nie sądzę, by mkofficial dał się całkowicie bezpośrednio zastosować w praktyce (na pewno konieczne będzie dopasowanie zawartości strony informacyjnej, mogą być przydatne też rozmaite inne korekty) ale mam nadzieję, że może stanowić przydatny punkt wyjściowy (oraz dowód, że także w takich zastosowaniach LaTeX może być przydatny).

Lista plików w archiwum

Archiwum zawiera następujące pliki

  • mkofficial.cls - definicja klasy
  • supersoft.sty, supersoft.png, supersoft.eps - przykładowe pliki dostosowujące mkofficial do konkretnej firmy (obrazek w formacie png używamy stosując pdflatexa, obrazek w formacie eps stosując latexa)
  • przyklad.tex - przykładowy plik korzystający z klasy
  • przyklad.pdf - wynik opracowania go pdflatexem.

Wykorzystanie mkofficial

Chcąc bezpośrednio użyć klasy mkofficial należy:

  • stworzyć odpowiedniki plików supersoft.* właściwe dla danej firmy (plik .sty zawierający adres, standardowy zbiór restrykcji itp oraz dodatkowe pliki graficzne z logo);
  • umieścić mkofficial.cls oraz powyzsze pliki w katalogu roboczym albo stworzyć dla nich wydzielony katalog w drzewie texmf (np. /usr/local/texmf/tex/latex/mkofficial), skopiować tam pliki i uruchomić polecenie texhash;
  • utworzyć w katalogu roboczym właściwy plik źródłowy wzorując preambułę na przyklad.tex (oczywiście adaptując pola typu nazwisko autora, tytuł dokumentu, data jego powstania);
  • kompilować go poleceniami latex lub pdflatex.

Następnie zostaje już tylko skorygowanie szablonu tak, by odpowiadał potrzebom danej organizacji (a także sposobowi kontroli wersji dokumentów - zamieszczone w mojej wersji słowka RCS działają dla RCS i CVS, inne narzędzia mogą mieć inne potrzeby).

Zależności

Klasa wykorzystuje całą serię pakietów LaTeXowych, z których większość jest standardowo instalowana a wszystkie są dostępne na CTAN. W typowych instalacjach mogą być niedostępne i wymagać doinstalowania:

  • pakiet rcs;
  • czcionki Quasi wraz z stylami wspomagającymi ich użycie.

Planowane i nieplanowane zmiany

Otrzymałem już pewne uwagi dotyczące wybranych przeze mnie w różnych miejscach dokumentu czcionek. Raczej nie planuję tutaj istotnych zmian w 'moim' przykładzie (co nie oznacza, że ewentualni użytkownicy nie mogą sobie skonfigurować zgoła innego wariantu). Natomiast chętnie doprowadziłbym do stanu, w którym selekcja czcionek stanowiłaby prosty wydzielony fragment szablonu (tak by np. czcionka używana w paginie była zdefiniowana raz i tylko raz i łatwa do skorygowania). Byłbym wdzięczny za sugestie jak to najładniej zrobić.

Chętnie zbieram propozycje dodatkowych pól do zamieszczenia w ramach "informacji o dokumencie", dodatkowych stron informacyjnych, uzupełnień strony tytułowej itp. Zarazem, proszę o sugestie jak uczynić kod mkofficial bardziej eleganckim.

Nie planuję na razie 'flirtowania' z mwcls (klasami Marcina Wolińskiego lepiej niż używana przeze mnie klasa report wspierającymi skład po polsku). Głównie dlatego, że nie są one o ile mi wiadomo dostępne z CTAN (nie mówiąc już o dystrybucjach).

Nie planuję (przynajmniej obecnie) modularyzacji klasy ani większego jej otwarcia na 'customizację' z zewnątrz (w sensie tworzenia zestawu opcji sterujących czy uwzględniania ładowanych przez dokument pakietów). Moim zdaniem, w zastosowaniu o jakie mi chodzi taka swoboda jest nie tylko zbyteczna ale wręcz szkodliwa.

Historia zmian

mkofficial_2002-04-16.zip Przy budowaniu wersji PDF wypełniane są pola autor, tytuł i temat w ramach 'informacji o dokumencie'. Na stronie tytułowej używamy słowa 'streszczenie' a nie 'abstrakt'. W ramach informacji o dokumencie dodana liczba stron. (Dwie ostatnie poprawki za radą Krzysztofa Maja).
mkofficial_2002-04-12.zip Pierwsza publicznie udostępniona wersja

Uwagi

Konkretne uwagi czy propozycje uzupełnień proszę zgłaszać . Chętnie obejrzałbym też efekty dostosowywania klasy do czyichś potrzeb.

Ogólniejsze dyskusje na temat składu dokumentów biznesowych lepiej prowadzić na grupie dyskusyjnej pl.comp.dtp.tex.gust.

komentarze obsługiwane przez Disqus