Podręcznik Kile

# Podręcznik Kile

Jonathan Pechta

Federico Zenith `<federico.zenith@member.fsf.org>`

Holger Danielsson `<holger.danielsson@versanet.de>`

Thomas Braun

Michel Ludwig `<michel.ludwig@kdemail.net>`

Felix Mauch `<felix_mauch@web.de>`

Tłumaczenie na polski: Łukasz Wojniłowicz
Zmiana 2.1 (Maj 22, 2011)

Copyright © 2003 Jonathan Pechta

Copyright © 2003, 2005, 2006 Federico Zenith

Copyright © 2005, 2006, 2012 Holger Danielsson

Copyright © 2007 Thomas Braun

Copyright © 2007, 2011 Michel Ludwig

Copyright © 2011 Felix Mauch

Informacja Prawna

Kile jest edytorem i powłoką kodu źródłowego TEX oraz LATEX.

Rozdział 1. Przedmowa
Przedmowa

# Rozdział 1. Przedmowa

## Wymagania

Do uruchomienia Kile, wymagane jest posiadanie następujących składników w systemie:

- Środowisko Pulpitu K(KDE): KDE jest popularnym środowiskiem pulpitu o otwarto-źródłowym kodzie.

- Qt™: Qt™ jest interfejsem C++ i biblioteką sieciową niezbędną do skompilowania Kile.

- LATEX: program do pisania dokumentów o wysokiej jakości. Prawdopodobnie potrzebny będzie pakiet TeX Live (lub na starszych systemach teTEX), jeśli działasz na systemie uniksopodobnym.

Większość z tych elementów zapewne występuje w twojej dystrybucji Linuksa; odwołaj się do jej dokumentacji lub zajrzyj na jej płytę instalacyjną w celu wgrania tych pakietów na swój komputer.

Kile może być już dostępne w twojej dystrybucji Linuksa jako skompilowany pakiet. Sprawdź to używając programu do zarządzania pakietami w twojej dystrybucji.

Grupa docelowa
Grupa docelowa

## Grupa docelowa

Ten podręcznik jest przeznaczony dla każdego, niezależnie od jego czy jej doświadczenia z LATEX, KDE, Kile czy Linuksem.

Dla zaawansowanych użytkowników podręcznik raczej nie będzie ciekawy, lecz wszystkie sugestie od nich zostaną rozważone. Jeśli chcesz mieć wkład w tym projekcie lub jego dokumentacji, powiedz o tym na stronie internetowej Kile.

Potrzebujesz odpowiedzi w temacie Kile? Nie radzisz sobie z kompilacją? Chcesz nowych możliwości programu? Zalecaną drogą zadawania pytań technicznych lub rozpoczęcia rozmowy jest użycie naszej listy dyskusyjnej: `(kile-devel AT lists.sourceforge.net)`.

Rozdział 2. Wprowadzenie
Wprowadzenie

# Rozdział 2. Wprowadzenie

## Podstawowe fakty

### O Kile

Kile jest zintegrowanym środowiskiem LATEX dla pulpitu KDE. Kile umożliwia wykorzystanie wszystkich możliwości LATEX w postaci graficznego układu sterowania, dając łatwy, natychmiastowy i dostosowany do potrzeb dostęp do wszystkich programów do uzupełniania kodu LATEX, kompilowania, przetwarzania końcowego, diagnozowania, przekształcania i narzędzi oglądania; do wykorzystania dostajesz także przydatne narzędzia pomocnicze, leksykon LATEX oraz zaawansowane narzędzie do zarządzania projektem.

### Kile oraz składnik edytora Kate

Kile jest oparte na składniku edytora Kate, tj. wiele z jego możliwości edycyjnych pochodzi prosto ze składnika edytora jakim jest Kate. Kile rozszerza te możliwości o edytowanie dokumentów LATEX. Aby dowiedzieć się więcej o składniku edytora Kate i jego możliwościach, zajrzyj na stronę sieciową Kate.

### Czym jest LATEX?

LATEX jest systemem przetwarzania tekstu opartym na TEX, programie pierwotnie opracowanym w 1977 przez Donalda Knutha w celu składania tekstu w sposób zawodowy i równy temu osiąganemu przez zawodowych składaczy tekstu. LATEX został utworzony przez Leslie Lamport, aby dać autorom narzędzie do zautomatyzowanego składania tekstu, szczególnie aby ułatwić czasochłonne i uporczywe składanie równań i wyrażeń matematycznych, które w LATEX z pewnych powodów są zawarte pomiędzy znakami dolarów. Dzisiaj, programy do przetwarzania tekstu umożliwiają użytkownikowi działanie jako składacz tekstu, lecz to, co jest często potrzebne, to dokument, który po prostu wygląda dobrze bez potrzeby spędzania nad nim godzin, aby uczynić go takim. LATEX przejmuje ten ciężar na swoje barki i pozwala na skupienie się na dokumencie, a nie na układzie. I oczywiście dokument będzie wyglądał dobrze!

### Jak się to wymawia? Dlaczego się to tak dziwnie zapisuje?

Istnieje zabawna tradycja dotycząca pakietów związanych z TEX polegająca na zapisywaniu ich w najdziwniejszy możliwy sposób. Nazwę TEX wzięto z greckiego τεχ, co w łacińskim zapisie oznacza tech. Istnieje wiele wyjaśnień dlaczego tak, lecz w większości ponieważ TEX pierwotnie został stworzony do pisania sprawozdań technicznych i w rzeczywistości jego główną możliwością było poprawne i łatwe zapisywanie równań matematycznych, w tamtych czasach ekstremalnie kosztowny, czasochłonny i frustrujący biznes.

Poprawna wymowa jest następująca: T tak jak zwykle, E jak w słowie get, a X jak w niemieckim ich. Jeśli nie wiesz jak brzmi ch, to jest to mniej więcej dźwięk jaki wydaje syczący kot; symbolem IPA jest /ç/. Wielu ludzi zdaje się wymawiać inaczej ach (symbol IPA /x/), lecz według niektórych greków, pierwsza wersja jest poprawna. Należy zwracać na to uwagę, ponieważ wielu ludzi niepoprawnie wymawia TEX jako /teks/ lub /tek/.

Ostatnie, w LATEX pierwsze LA jest wymawiane jako lay: pomysł pochodzi stąd, że czysty TEX jest trudny, a makr LATEX może używać nawet layman (z ang. laik). Mniej inspirującym, lecz bardziej realistycznym wyjaśnieniem, jest to, że wywodzi się od nazwiska Leslie Lamport, twórcy LATEX. Teraz już wiesz!

LATEX 101
LATEX 101

## LATEX 101

System składni LATEX jest podobny do innych języków opartych na znacznikach takich jak XML, który jest używany w wielu rodzajach dokumentów (włączając w to ten, który czytasz) lub HTML, który jest używany na stronach internetowych. Głównym zamysłem języków opartych na znacznikach jest posiadanie wyjątkowych słów kluczowych, zwanych znacznikami, które mówią programowi (do przetwarzania tekstu, do przeglądania internetu lub kompilatorowi LATEX) jak tekst zawarty pomiędzy tymi znacznikami ma być zinterpretowany. Kile dostarcza kilku takich znaczników w menu LaTeX na pasku menu.

Mimo że spróbujemy przedstawić ci ogólny pogląd na temat tego czym jest LATEX, to jednak ten dokument oczywiście, nie jest Ostateczną Księgą na temat LATEX. Jeśli chcesz nauczyć się LATEX w szczegółach, to najlepiej wypożycz specjalistyczne książki z twojej lokalnej biblioteki.

Tak jak w innych językach znaczników, dokumenty LATEX zawierają preambułę, która określa globalne właściwości, takie jak rozmiar papieru, numerację stron, rozmiar tekstu na stronie oraz treść dokumentu, która zawiera jego tekst. Preambuła jest złożona co najmniej z polecenia `\documentclass`. Poprzedza treść dokumentu, która zaczyna się od polecenia `\begin{document}` i kończy się na poleceniu`\end{document}`.

Główne możliwości Kile
Główne możliwości Kile

## Główne możliwości Kile

### Pomocnik SzybkiegoStartu

Pomocnik SzybkiegoStartu wbudowany w Kile jest użytecznym narzędziem umożliwiającym szybkie tworzenie dokumentów. Wybranie pomocnika z paska menu daje kilka możliwości utworzenia dokumentu. Można także od razu określić niektóre z opcji związanych z dokumentem.

Opcje klas:

- Klasa dokumentu: wybierz rodzaj dokumentu do utworzenia: artykuł, książka, list, sprawozdanie, scrartcl, scrreprt, scrbook, prosper, beamer lub inna określona na własny sposób.

- Rozmiar pisma: wybierz rozmiar pisma mierzony w punktach (pt).

- Rozmiar papieru: wybierz rozmiar, a także wygląd arkusza.

- Kodowanie: W ogólności dobrym pomysłem jest użycie standardowego kodowania systemu. Nowoczesne systemy przenoszą się na kodowanie UTF-8 jako standardowe. Jeśli możesz, to użyj utf8 lub utf8x (który jest poprawnym zapisem dla dokumentów LATEX).

- Inne opcje: umożliwia to ustawienie dalszych opcji takich jak drukowanie, szkice i inne.

Pakiety

Jest to wykaz najpowszechniejszych dodatkowych pakietów używanych w LATEX. Zaznacz pole, aby je dołączyć.

Właściwości dokumentu:

- Autor: tutaj podaj swoje imię i nazwisko.

- Tytuł: tutaj podaj tytuł dokumentu.

- Data: tutaj podaj datę.

### Istniejące szablony

Wraz z Kile dostarczane są następujące szablony:

- Pusty dokument: prawdziwi dziwacy zaczynają od zera!

- Artykuł: ustawia format artykułu, dla dokumentu na tyle krótkiego, że nie można go podzielić na rozdziały.

- Sprawozdanie: ustawia format sprawozdania, przeznaczony dla średnio dużych dokumentów z numerowaniem stron na zewnętrznej krawędzi.

- Książka: ustawia format książki, w pełni rozwinięta odmiana, jest tak zaawansowana, że została użyta do napisania wielu książek uniwersyteckich.

- List: ustawia format listu.

- Beamer, HA-Prosper: twórz ładne prezentacje w postaci PDF, które przewyższają inne wyglądem oraz mocą LATEX.

- Powerdot: Powerdot jest następcą pakietów `seminar` oraz `HA-Prosper`. Nie ma aż tylu możliwości co Beamer, lecz jest prosty w użyciu i ma możliwość utworzenia naprawdę ładnych prezentacji w postaci PDF.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2: klasy dokumentu KOMA-Script, dopasowane w szczególności do niemieckiej składni. Używaj ich w przypadku pisania tekstów po niemiecku.

- Xelatex: zmieniony szablon `Article` do użycia wraz z `XeLaTeX`.

Zwróć uwagę na to, że wszystkie te szablony można dostosować do potrzeb użytkownika.

Nowi użytkownicy nie muszą się martwić: ten spis zawiera tylko krótkie opisy dostępnych możliwości, a bardziej szczegółowe opisy można znaleźć w SzybkiStart

### Podświetlanie składni

Kile, podobnie jak inne programy do pracy na kodzie źródłowym oraz edytowania, samoczynnie podświetli używane (i nadużywane) polecenia, opcje i elementy. Kile czyni łatwym zauważanie kłopotliwych obszarów: na przykład, jeśli zauważysz, że większość obszaru tekstu zmieni się na zielony, to prawdopodobnie oznacza to, że gdzieś brakuje zamknięcia otoczenia matematycznego.

### Samouzupełnianie w otoczeniach

Samouzupełnianie otoczeń oznacza, że jeśli rozpoczniesz nowe otoczenie poprzez napisanie `\begin{environment}`, Kile samoczynnie umieści pasujące polecenie `\end{environment}`, z wierszem pomiędzy nimi dla twojego tekstu. Oczywiście można wyłączyć takie zachowanie w Ustawienia → Ustawienia Kile... → LaTeX+Otoczenia.

### Skok do elementu struktury

Normalnie wszystkie dokumenty posiadają strukturę pewnego rodzaju. LATEX umożliwia podzielenie tych dokumentów według następującej hierarchii (część jest najwyżej w hierarchii oraz podpunkt jest najniżej)

- \part

- \chapter

- \section

- \subsection

- \subsubsection

- \paragraph

- \subparagraph

Przy przeglądaniu dokumentu w widoku Struktury można przechodzić pomiędzy elementami poprzez naciśnięcie na elemencie, który chcesz obejrzeć.

### Wyszukiwanie odwrotne

Przy tworzeniu własnych plików LATEX, wyszukiwanie odwrotne może okazać się bardzo pomocne. W chwili utworzenia pliku DVI (DeVice Independent File, z ang. pliku niezależnego od urządzenia) lub PDF, można nacisnąć lewym przyciskiem myszy w przeglądarce przy wciśniętym klawiszu Shift, a Kile przejdzie do odpowiadającego wiersza w kodzie źródłowym LATEX.

DVI jest rodzajem pliku zawierającym opis sformatowanego dokumentu, wraz z innymi szczegółami wliczając w to czcionkę i poza PDF jest zazwyczaj używany jako plik wynikowy dla TEX oraz LATEX. Na różnych systemach i urządzeniach, istnieje kilka narzędzi do przeglądania, przekształcania i drukowania plików DVI.

### Wyszukiwanie wprzód

Podczas używania wyszukiwania odwrotnego, wybór elementów w pliku DVI lub PDF jest związany z edytorem, więc jeśli naciśniesz na plik DVI lub PDF, to w głównym oknie pojawi się przypisany w edytorze odcinek kodu LATEX. Wyszukiwanie wprzód jest dokładnym przeciwieństwem tego. Wyszukiwanie wprzód umożliwi ci naciśnięcie na dany odcinek tekstu w kodzie LATEX po to, żeby w oknie przeglądarki przejść do przypisanego mu położenia.

Pasek narzędzi
Pasek narzędzi

## Pasek narzędzi

- Nowy: rozpocznij nowy dokument.

- Otwórz: otwórz nowy dokument.

- Zamknij: zamknij otwarty dokument.

- Określ dokument jako nadrzędny: używa się tego przy pracy z wieloma plikami. Posiadanie dokumentu nadrzędnego ułatwia pracę z innymi plikami `.tex` zawartymi w dokumencie. Jeśli używasz projektów, to istnieje możliwość ustawienia nadrzędnego dokumentu w całym projekcie poprzez menu Projekt → Opcje projektu.

- SzybkieBudowanie: kompiluje kod źródłowy LATEX i wyświetla wyniki natychmiast, chyba że w dokumencie są błędy.

- Tryb obserwowania pliku: w trybie tym plik DVI będzie "obserwowany" pod kątem zmian i nie zostanie uruchomiona żadna nowa sesja Okular po SzybkimBudowaniu.

- Obejrzyj plik dziennika: podgląd pliku `.log` w celu wychwycenia błędów.

- Poprzedni błąd: idzie wstecz przez plik `.log` i podświetla błędy w kodzie źródłowym.

- Poprzedni błąd: idzie wprzód przez plik `.log` i podświetla błędy w kodzie źródłowym.

- Stop: zatrzymuje bieżące narzędzie.

- LaTeX: uruchamia LATEX na aktywnym dokumencie.

- ObejrzyjDVI: uruchamia przeglądarkę DVI.

- DVInaPS: przekształca DVI na PostScript® (PS).

- ObejrzyjPS: uruchamia przeglądarkę PostScript® (PS).

- PDFLaTeX: uruchamia PDFLATEX na aktywnym dokumencie.

- ObejrzyjPDF: uruchamia przeglądarkę PDF.

- DVInaPDF: przekształca DVI na PDF.

- PSnaPDF: przekształca PS na PDF.

- ObejrzyjHTML: podgląd utworzonego pliku HTML.

- PrzekierujDVI: przechodzi do strony pliku DVI, która odpowiada bieżącemu wierszowi w edytorze.

- PrzekierujPDF: przechodzi do strony pliku PDF, która odpowiada bieżącemu wierszowi w edytorze.

Jeśli spojrzysz na pasek narzędzi Edycja zauważysz trzy duże menu opuszczane. Menu opuszczane zostały opracowane tak, aby można było szybko dodawać pewne powszechne cechy do dokumentów. Pierwsze menu opuszczane służy do szybkiego dzielenia dokumentu na części, rozdziały, działy i tak dalej. Dodawanie odcinków do kodu źródłowego LATEX odbywa się poprzez następujące polecenia:

- part: najwyższy poziom podziału dokumentu.

- chapter: rozpoczyna nowy rozdział.

- section: tworzy nowy punkt.

- subsection: tworzy nowy podpunkt.

- subsubsection: drugi podział pomiędzy podpunktem, a akapitem.

- paragraph: tworzy nowy akapit.

- subparagraph: tworzy nowy podakapit.

Pole opuszczane o nazwie Inne służy do wstawiania do dokumentów elementów takich jak spisy, stopki i piśmiennictwo; dostępne polecenia to:

- label: polecenie, które tworzy etykietę dla rozdziału, rysunku lub innego elementu.

- index: tworzy wpis dla spisu.

- footnote: tworzy stopkę w dokumencie.

- ref: stosowane do odwoływania się do nastawionej etykiety, którą można wybrać z menu rozwijanego.

- pageref: tak samo jak ref, lecz odnosi się do strony zamiast do elementu struktury.

- cite: tworzy odsyłacz z danymi z bibliografii.

Inne menu rozwijane

Wybieranie etykiety dla odsyłacza

Po użyciu cite, rozwija się menu ze spisem elementów bibliograficznych. W przypadku używania BibTEX, plik musi należeć do projektu. Aby edytować pliki BibTEX zalecane jest użycie przeznaczonych do tego edytorów. Autor tego programu z powodzeniem stosuje KBibTEX. Oczywiście, można także pisać pliki BibTEX ręcznie, wewnątrz Kile.

Ostatnie pole opuszczane oznaczone jako tiny jest używane do ustawienia rozmiaru tekstu. Można ustawić rozmiar głównego tekstu, rozmiar stopek itp. Dostępne polecenia to:

- tiny: najmniejszy.

- scriptsize: bardzo mały.

- footnotesize: mniejszy.

- small: mały.

- normalsize: normalny.

- large: duży.

- Large: większy.

- LARGE: jeszcze większy.

- huge: wciąż większy.

- Huge: największy.

Rozdział 3. SzybkiStart
SzybkiStart

# Rozdział 3. SzybkiStart

## Pisanie dokumentu LATEX przy pomocy Kile dla początkujących

Użytkownicy Kile mają dwa wyjścia przy rozpoczynaniu nowego dokumentu: mogą użyć Pomocnika do rozpoczęcia nowego dokumentu, następnie wybrać rodzaj dokumentu, który chcieliby utworzyć i jego opcje takie jak rozmiar czcionki, rozmiar papieru itp.; w innym przypadku, muszą napisać ten kod ręcznie.

    \documentclass[12pt]{article}
    \begin{document}
            Oto trochę treści zakodowanej w \LaTeX.
    \end{document}

Każdy dokument w LATEX zaczyna się od polecenia `\documentclass[opcjonalny argument]{klasa}`, gdzie klasa określa rodzaj dokumentu.

Wpisanie przykładowego kodu z pola tekstowego daje następujący wynik:

Wynikowy plik DVI po skompilowaniu tekstu

Nawiasy po poleceniu `\documentclass` zawierają opcje dla tego polecenia. Opcja `[12pt]` ustawia rozmiar czcionki twojego artykułu; jeśli nie ustawisz rozmiaru czcionki na początku, to możesz ją ustawić później w tekście.

Po wpisaniu przykładowego kodu źródłowego LATEX z powyższego pola tekstowego, musisz go skompilować. Najłatwiejszym sposobem na skompilowanie LATEX jest użycie menu Budowanie lub przycisku SzybkieBudowanie.

Alt+2 jest skrótem klawiszowym do skompilowania kodu źródłowego.

Musisz zapisać swój kod źródłowy przed jego skompilowaniem; Kile zrobi to za ciebie samoczynnie.

Jeśli twój dokument nie kompiluje się, przejrzyj dziennik w poszukiwaniu błędów. Po użyciu przycisku SzybkieBudowanie powinien natychmiastowo uruchomić się Okular; jeśli tak się nie dzieje, zajrzyj do dziennika.

Otoczenia
Otoczenia

## Otoczenia

Otoczenie jest odcinkiem tekstu traktowanym odmiennie od reszty dokumentu. Na przykład, tworzysz sprawozdanie o rozmiarze czcionki 12, lecz musisz zmienić rozmiar czcionki dla kilku zdań. Polecenia `\begin{otoczenie}`, `\huge` oraz `\end{otoczenie}` umożliwi tymczasową zmianę rozmiaru tekstu na duży pomiędzy poleceniami otoczenia.

Zmiany obowiązują tylko od `\begin{otoczenie}` do `\end{otoczenie}`. Nie ma ograniczenia co do liczby możliwych zmian wewnątrz otoczenia.

Istnieje wiele cech, które można dodać do dokumentu, a które uczynią go czytelniejszym i bardziej przyjaznym użytkownikowi. Można nadać cechy takie jak rodzaj czcionki, pogrubienie, pochylenie, podkreślenie itp. Polecenia te przestaną obowiązywać albo z poleceniem `\end` albo z końcem otoczenia.

- `\begin{emph}`: polecenie to czyni tekst pochylonym i obowiązuje do czasu natrafienia na `\end{emph}` lub inne otoczenie. Aby pochylić jedno słowo w zdaniu, można użyć następującego zapisu: oto `\emph{moje}` zdanie.

- `\textbf{Pogrubiam tekst wewnątrz nawiasów}`: polecenie to czyni tekst pogrubionym.

- `\quote`: tworzy cytowanie w dokumencie; zacznij cytowanie poprzez `\begin{quote}` i zakończ je `\end{quote}`.

- `\center`: wyśrodkowuje tekst.

- `\verse`: tworzy tekst odsunięty dla wierszy.

- `\itemize`: tworzy wypunktowaną listę.

Używanie Kile
Używanie Kile

## Używanie Kile

Po wyjaśnieniu jak pisać kod wykorzystując język znaczników LATEX, pokażemy krok po kroku jak utworzyć dokument przy użyciu Kile

1. Uruchom Kile.

2. Wybierz Pomocnik → SzybkiStart i w wyświetlonym oknie pomocnika wybierz format i określ inne ustawienia.

3. Po wpisaniu przez pomocnika tekstu, wykonaj na nim jakieś zmiany, aby uczynić go czytelniejszym, dodaj co najmniej jedno cytowanie, pogrub i pochyl jakiś tekst, utwórz także wers, aby zobaczyć różnicę pomiędzy poleceniami.

4. Zapisz swój pliki i nadaj mu nazwę `intro.tex`.

5. Zbuduj dokument przy użyciu Alt+2 lub przycisku o nazwie LaTeX.

6. Wybierz ObejrzyjDVI.

7. Obejrzyj dopiero co utworzony tekst.

8. Jeśli używasz osadzonej przeglądarki, to po przejrzeniu dokumentu, naciśnij na przycisk Widok edytora lub kombinację Ctrl+E, aby powrócić do edytora. Jeśli używasz zewnętrznej przeglądarki, to po prostu zamknij jej okno.

To wszystko! Przeprowadziliśmy cię przez tworzenie twojego pierwszego dokumentu LATEX!

Po utworzeniu pliku DVI można wydrukować dokument lub zamienić go na plik PostScript® lub PDF. Eksperymentuj i baw się dobrze!

Pliki DVI
Pliki DVI

## Pliki DVI

DVI jest skrótem od DeVice Independent (z ang. niezależny od urządzenia) . Pliki te są tworzone przez TEX lub LATEX celem odczytywania ich przez pewnego rodzaju sterownik na twoim komputerze. Pliki `.dvi` można wykorzystać na wiele różnych sposobów, takich jak wydruk na drukarce, przekształcenie do pliku PostScript® lub PDF, a także do wyświetlenia na ekranie komputera.

### Oglądanie DVI

Już przedstawiono oglądanie pliku DVI na ekranie poprzez przycisk ObejrzyjDVI na pasku narzędzi.

### Drukowanie DVI

Aby wydrukować plik DVI, musisz wykonać te same czynności, które wcześniej doprowadziły do utworzenia dokumentu (zajrzyj do Używanie Kile). Jeśli poprawnie ustawiono drukarkę, to w kroku 7, po naciśnięciu ObejrzyjDVI, w przeglądarce wybierz Plik → Drukuj i pojawi się możliwości wydrukowania pliku DVI.

### Przekształcanie plików DVI

Pasek narzędzi dostarcza opcji do przekształcania plików DVI na inne formaty. Po utworzeniu pliku DVI z kodu źródłowego LATEX, pojawi się możliwość wyeksportowania go do dowolnego formatu przy użyciu przycisków na pasku narzędzi.

Wyszukiwanie wprzód pomiędzy Kile i Okular
Wyszukiwanie wprzód pomiędzy Kile i Okular

## Wyszukiwanie wprzód pomiędzy Kile i Okular

Wyszukiwanie wprzód umożliwia przechodzenie z edytora bezpośrednio do przypisanego położenia w pliku DVI lub PDF.

Kile dostarcza ustawienia z tą opcją dla wszystkich plików binarnych LATEX. Przejdź do Ustawienia → Ustawienia Kile... → Narzędzia+Buduj i zawsze wybieraj ustawienie Nowoczesne.

Aby wykonać wyszukiwanie naprzód, umieść wskaźnik na wierszu kodu źródłowego i naciśnij na Wyszukiwanie wprzód, aby przejść do przypisanego położenia w oknie przeglądarki pliku DVI lub PDF.

Wyszukiwanie odwrotne pomiędzy Kile i Okular
Wyszukiwanie odwrotne pomiędzy Kile i Okular

## Wyszukiwanie odwrotne pomiędzy Kile i Okular

Wyszukiwanie odwrotne jest bardzo użyteczną możliwością przy samodzielnym pisaniu dokumentu LATEX. Jeśli wszystko ustawiono właściwie, to po naciśnięciu w oknie Okular lewym przyciskiem myszy przy wciśniętym klawiszu Shift Kile wczyta plik źródłowy LATEX i przejdzie do właściwego punktu. Aby użyć wyszukiwania odwrotnego, musisz skompilować swój plik LATEX przy użyciu ustawienia Nowoczesne.

Wyszukiwanie odwrotne zadziała gdy:

- Pomyślnie skompilowano kod źródłowy.

- Okular wie jakiego edytora chcesz użyć.

Dzięki tej możliwości Okulara, naciśnięcie lewym przyciskiem myszy przy wciśniętym klawiszu Shift w dokumencie DVI lub PDF poskutkuje otwarciem przez Kile odpowiedniego dokumentu LATEX i próbę przejścia do odpowiedniego wiersza. Pamiętaj, aby w menu ustawień Okulara Ustawienia → Ustawienia Okular... (na stronie Edytor) ustawić program Kile jako edytor tekstu.

Ustawianie Okular

Rozwiązywanie błędów
Rozwiązywanie błędów

## Rozwiązywanie błędów

Jeśli używasz SzybkiegoBudowania i przeglądarka DVI nie otwiera się, to prawdopodobnie gdzieś masz błąd. Jeśli masz błąd, to będzie on widoczny w pliku dziennika/obszarze wiadomości. Błąd zostanie tam także krótko streszczony.

W pliku dziennika znajdzie się wyjaśnienie błędu w kodzie. Aby w edytorze przejść do błędów, można używać następujących przycisków z paska narzędzi: Poprzedni błąd LaTeX oraz Następny błąd LaTeX. Plik dziennika zawsze zawiera numer wiersza, w którym nastąpił błąd. Aby obejrzeć wiersz, w którym wystąpił błąd, naciśnij na błędzie w oknie dziennika, a Kile przejdzie do wiersza tego błędu.

Rozdział 4. Tworzenie nowego dokumentu
Tworzenie nowego dokumentu

# Rozdział 4. Tworzenie nowego dokumentu

Po naciśnięciu przycisku na pasku narzędzi do tworzenia nowego dokumentu, pojawi się okno dialogowe z pytaniem o szablon, którego chcesz użyć do napisania swojego dokumentu. Domyślnymi wyborami są:

- Pusty dokument

- Artykuł

- Beamer

- Książka

- HA-Prosper

- Powerdot

- List

- Sprawozdanie

- Scrartcl (z pakietu KOMA-Script)

- Scrbook (z pakietu KOMA-Script)

- Scrlttr2 (z pakietu KOMA-Script)

- Scrreprt (z pakietu KOMA-Script)

- PDF

- XeLaTeX

Jeśli wybrano Pusty dokument, to dokument trzeba pisać od zera, ale można także użyć pomocnika, aby szybko rozpocząć nowy dokument (zobacz Pomocnik SzybkiegoStartu).

## Szablony

Częsty użytkownik LATEX zazwyczaj używa tej samej preambuły dla prawie każdego dokumentu. Szablony można tworzyć, zapisywać i wczytywać z poziomu Kile. Służą one do ułatwienia pracy na początku tworzenia nowego dokumentu.

### Tworzenie nowego szablonu

Aby utworzyć nowy szablon, najpierw musisz, albo otworzyć plik TEX / LATEX lub utworzyć taki od nowa. Kile może utworzyć szablon na podstawie istniejącego dokumentu poprzez otwarcie żądanego dokumentu i wybranie Plik → Utwórz szablon z dokumentu.

### Ustawianie samozastępowania

Przy tworzeniu nowego dokumentu poprzez wybranie szablonu z Plik → Nowy, niektóre z napisów zostaną zastąpione poprzez dane takie jak twoje nazwisko lub używane przez ciebie kodowanie znaków. Zmienne te można nadać wUstawienia → Ustawienia Kile... → Ustawienia+Ogólne.

Przy tworzeniu własnego szablonu, warto wiedzieć jakie napisy zostaną zastąpione przez jakie zmienne szablonu:

- `$$AUTHOR$$`: Ten ciąg znaków zostanie zastąpiony przez zmienną autora.

- `$$DOCUMENTCLASSOPTIONS$$`: Ten ciąg znaków zostanie zastąpiony przez zmienną klasy dokumentu. Zazwyczaj używa się go jako: `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$`: Jeśli kodowanie wejściowe jest ustawione na przykład na `latin1` to ten ciąg znaków zostanie zastąpiony przez `\input[latin1]{inputenc}`.

### Tworzenie szablonu z poziomu pomocnika

Najłatwiejszym sposobem na utworzenie szablonu jest skorzystanie z pomocnika, a następnie dodanie poleceń w edytorze. Po dokonaniu żądanych ustawień swojego dokumentu:

1. Zapisz swój plik;

2. Przejdź do Plik;

3. Wybierz Utwórz szablon z dokumentu;

4. Dokonaj żądanych poprawek w szablonie;

5. Podaj nazwę dla swojego nowego szablonu;

6. Naciśnij OK, aby dodać szablon do menu.

Przy następnym tworzeniu nowego dokumentu, będzie można wybrać swój własny szablon zamiast jakiegoś domyślnego.

### Tworzenie szablonu z pliku

Szablon utworzyć można z dowolnego pliku LATEX. Jeśli szukasz łatwego sposobu na ustawienie szablonu, to przeszukaj Internet i wykonaj kroki wymienione w Tworzenie szablonu z poziomu pomocnika.

Na przykład, możesz chcieć utworzyć w pełni opracowany poster A0. Postery takie są zazwyczaj widywane na konferencjach naukowych, a LATEX może pomóc go utworzyć tak, aby przyciągał wzrok. Dla posterów A0 szablon można pobrać ze strony domowej Jonathan Marchini, lecz dostępnych jest wiele więcej. Pamiętaj, że niezbędny ci będzie pakiet `a0poster`, który normalnie nie jest dołączany do dystrybucji TEX. Pobierz go stąd i umieść go w tym samym katalogu co plik LATEX

### Usuwanie szablonu

Aby usunąć szablon z Kile wykonaj:

1. Przejdź do Plik → Usuń szablon...;

2. Pojawi się okno dialogowe z wymienionymi wszystkimi szablonami: wybierz szablon;

3. Naciśnij na OK, a szablon zostanie usunięty.

Szablonów z gwiazdką (*) nie można usuwać bez odpowiednich uprawnień.

Rozdział 5. Edytowanie dokumentów LATEX
Edytowanie dokumentów LATEX

# Rozdział 5. Edytowanie dokumentów LATEX

Edytorem wewnętrznym, który Kile używa jest Kate. Kate jest edytorem tekstu stworzonym dla programistów, który ma możliwość odczytywania i podświetlania składni wielu rodzajów plików tekstowych, a wśród nich także LATEX oraz BibTEX; wiele z możliwości Kate można wykorzystać bezpośrednio z menu Narzędzia Kile.

Aby dowiedzieć się więcej o Kate i jego możliwościach, zajrzyj do Podręcznika Kate. Użytkownicy Kile powinni zacząć czytanie od rozdziału „Praca z edytorem Kate”.

## Leksykon LATEX

Kile udostępnia bardzo przydatny leksykon znaczników LATEX, do którego dostęp można uzyskać poprzez Pomoc → Leksykon LaTeX. Zawiera on całkowity opis prawie wszystkich poleceń, których można użyć w LATEX i jego składni.

Ruchy kursorem
Ruchy kursorem

## Ruchy kursorem

W celu zaznaczenia tekstu, masz następujące możliwości:

- Przytrzymaj lewy przycisk myszy i przeciągnij myszą, aby podświetlić tekst.

- Naciśnij raz na słowie, aby przesunąć kursor do nowego obszaru.

- Naciśnij dwa raz na słowie, aby zaznaczyć całe słowo.

- Naciśnij dwa raz na słowie trzymając wciśnięty klawisz Ctrl, aby zaznaczyć całe słowo TEX. W ten sposób naciskając na `\par` from `\par\bigskip` zaznacza tylko\par.

- Naciśnij trzy razy, aby zaznaczyć całe zdanie.

Przytrzymując lewy przycisk myszy i przeciągając tekst, który chcesz zaznaczyć, samoczynnie kopiuje zaznaczony tekst do schowka.

Przytrzymując klawisz Shift i używając klawiszy strzałek umożliwia zaznaczanie odcinków kodu źródłowego w oknie edytora.

Nawiasy
Nawiasy

## Nawiasy

Domykanie nawiasów jest graficznym narzędziem, używanym w widoku edytora, aby wskazać, który nawias pasuje do którego. Jeśli otworzysz plik `.tex` i wybierzesz dowolny nawias, nie ważne czy to będą zwykłe nawiasy (), kwadratowe nawiasy [], czy klamry {}, edytor podświetli nawias i jego odpowiednik na żółto (ten domyślny kolor można zmienić). Na przykład, jeśli umieścisz kursor na klamrach w `\section{Wprowadzenie}`, to zobaczysz `\section{Wprowadzenie}` podświetlone domyślnie na żółto, pokazując rozpoczynający i zamykający nawias.

Podświetlanie
Podświetlanie

## Podświetlanie

Kile ma możliwość wyszukiwania i podświetlania różnego rodzaju kodu. Na przykład, polecenia LATEX są odróżniane od zwykłego tekstu, a równania matematyczne podświetlane są na jeszcze inny kolor.

Punktory
Punktory

## Punktory

Wiele pomocników ma możliwość wstawiania opcjonalnych punktorów, wyjątkowy rodzaj zakładki z tekstem. Wpisy menu Edycja → Punktory lub odpowiedni skrót klawiszowy umożliwi przejście do następnego lub poprzedniego punktora. Podświetli to także ten punktor, więc zostanie ona usunięta samoczynnie po wpisywaniu pierwszej litery.

Następny punktor (Ctrl+Alt+W prawo)

  Przejdź do następnego punktora w tekście, jeśli nie ma żadnego.

Ostatni punktor (Ctrl+Alt+W lewo)

  Przejdź do poprzedniego punktora w tekście, jeśli nie ma żadnego.

Zaznaczanie
Zaznaczanie

## Zaznaczanie

Edytowanie jest oczywiście jednym z głównych powodów, dla którego używasz programu takiego jak Kile. Chociaż Kate już ma wielkie możliwości, Kile dodaje do niego inne równie wielkie, które są potrzebne szczególnie przy pisaniu kodu źródłowego LATEX. LATEX zawsze wymaga wielu otoczeń i grup, więc Kile dostarcza wyszukanych poleceń do ich zaznaczania. Pod Edycja → Zaznacz znajdziesz następujące polecenia do zaznaczania tekstu.

Otoczenie (wewnątrz) (Ctrl+Alt+S,E)

  Zaznacz otoczenie bez otaczających znaczników. Po wywołaniu tego polecenia, gdy otoczenie jest już zaznaczone, Kile rozszerzy zaznaczenie do następnego przylegającego otoczenia.

Otoczenie (na zewnątrz) (Ctrl+Alt+S,F)

  Zaznacz otoczenie uwzględniając otaczające znaczniki. To zaznaczenie również można rozszerzyć po raz drugi wywołując to polecenie.

Grupa TeX (wewnątrz) (Ctrl+Alt+S,T)

  Zaznacz grupę TEX wewnątrz otaczających klamer.

Grupa TeX (na zewnątrz) (Ctrl+Alt+S,U)

  Zaznacz grupę TEX uwzględniając otaczające klamry.

Grupa matematyczna (Ctrl+Alt+S,M)

  Zaznacz bieżącą grupę matematyczną uwzględniając polecenia matematyczne

Punkt (Ctrl+Alt+S,P)

  Zaznacz cały punkt, tj. grupę wierszy tekstu oddzielonych z obu stron pustymi wierszami. Punkt nie oznacza tyko spójnych wierszy tekstu, tak jak to jest w innych edytorach tekstu. To rozszerzone znaczenie uwzględnia także tabele, polecenia LATEX i inne wiersze kodu źródłowego. Jedyną ważną rzeczą dla Kile jest, że ten rodzaj punktu jest oddzielony dwoma pustymi wierszami.

Wiersz (Ctrl+Alt+S,L)

  Zaznacz wiersz tekstu w położeniu kursora.

Słowo TeX (Ctrl+Alt+S,W)

  Zaznacz słowo w bieżącym położeniu kursora. To zaznaczenie ma także rozszerzone znaczenie, ponieważ plecenie to może także zaznaczać polecenia LATEX, które zaczynają się od ukośnika wstecznego i które mogą mieś opcjonalną gwiazdkę na końcu.

### Zaznaczanie poleceń LATEX

Kile ma rozszerzone możliwości zaznaczania poleceń LATEX. Jeśli na przykład napisano

    tekst \bfseries\itshape więcej tekstu

i naciśnięto dwukrotnie na jednym z poleceń LATEX, to oba zostaną zaznaczone. Zazwyczaj zachodzi potrzeba zaznaczenia jednego z dwóch lub większej liczby poleceń. Można tego dokonać przy użyciu klawisza Ctrl. Musisz jedynie wcisnąć klawisz Ctrl i nacisnąć dwukrotnie myszą, co zaznaczy żądane polecenie.

Usuwanie
Usuwanie

## Usuwanie

Aby usunąć niektóre części dokumentu, można je oczywiście zaznaczyć, a następnie nacisnąć klawisz Delete. Kate daje także możliwość naciśnięcia Ctrl+K, co usuwa cały wiersz. Kile jednak ma inne szybsze polecenia usuwania. W menu Edycja → Usuń można znaleźć następujące polecenia do usuwania tekstu.

Otoczenie (wewnątrz) (Ctrl+Alt+T,E)

  Usuń otoczenie bez znaczników otaczających.

Otoczenie (na zewnątrz) (Ctrl+Alt+T,F)

  Usuń otoczenie wraz ze znacznikami otaczającymi.

Grupa TeX (wewnątrz) (Ctrl+Alt+T,T)

  Usuń grupę TEX wewnątrz otaczających klamer.

Grupa TeX (na zewnątrz) (Ctrl+Alt+T,U)

  Usuń grupę TEX uwzględniając otaczające klamry.

Grupa matematyczna (Ctrl+Alt+T,M)

  Usuń bieżącą grupę matematyczną wraz z poleceniami matematycznymi.

Punkt (Ctrl+Alt+T,P)

  Usuń cały punkt. Spójrz na polecenie Zaznacz → Punkt w celu poznania w jaki sposób określa się punkt w Kile.

Do końca wiersza (Ctrl+Alt+T,I)

  Usuń tekst od bieżącego położenia kursora do końca wiersza.

Słowo TeX (Ctrl+Alt+T,W)

  Usuń słowo lub polecenie LATEX w obecnym położeniu kursora.

Otoczenia
Otoczenia

## Otoczenia

Już wspomniano, że otoczenia są środkowym puntem w LATEX. Tak więc Kile daje pięć innych poleceń w menu Edycja → Otoczenie, aby uczynić pracę z LATEX tak łatwą jak to tylko możliwe.

Przejdź na początek (Ctrl+Alt+E,B)

  Polecenie to przejdzie do początku bieżącego otoczenia, niezależnie od tego gdzie się obecnie znajdujesz. Kursor zostanie umieszczony bezpośrednio na początku znacznika otwierającego otoczenie.

Przejdź na koniec (Ctrl+Alt+E,E)

  Polecenie to przejdzie na koniec bieżącego otoczenia, niezależnie od tego gdzie się obecnie znajdujesz. Kursor zostanie umieszczony bezpośrednio na końcu znacznika zamykającego otoczenie.

Przeciwlegle (Ctrl+Alt+E,M)

  Gdy kursor znajdzie się na początku lub powyżej znacznika `\begin{environment}`, to zostanie przeniesiony na drugą stronę otoczenia, a w przeciwnym przypadku na odwrót.

Zamknij (Ctrl+Alt+E,C)

  Wpisywanie wielu zagnieżdżonych znaczników otoczenia, może pozbawić panowania nad tymi wszystkim otoczeniami. To polecenie zamknie ostatnio otwarte otoczenie, tak aby struktura zagnieżdżonych otoczeń nie uległa przerwaniu.

Zamknij wszystkie (Ctrl+Alt+E,A)

  Polecenie to zamyka wszystkie otwarte otoczenia, nie tylko te ostatnio otwarte.

Grupa TEX
Grupa TEX

## Grupa TEX

Kile daje także możliwość używania pewnych poleceń dla grup LATEX, które są określone przez klamry `{...}`. W podmenu Edycja → Grupa TeX znajdziesz niektóre z ważniejszych poleceń, które odpowiadają tym z Edycja → Otoczenie.

Przejdź na początek (Ctrl+Alt+G,B)

  Polecenie to przejdzie do początku bieżącej grupy, niezależnie od tego gdzie się obecnie znajdujesz. Kursor zostanie umieszczony bezpośrednio na początku klamry otwierającej.

Przejdź na koniec (Ctrl+Alt+G,E)

  Polecenie to przejdzie na koniec bieżącej grupy, niezależnie od tego gdzie się obecnie znajdujesz. Kursor zostanie umieszczony bezpośrednio na końcu klamry zamykającej.

Przeciwlegle (Ctrl+Alt+G,M)

  Gdy kursor znajdzie się na początku lub na końcu klamry otwierającej grupę TEX, to zostanie przeniesiony na przeciwną stronę grupy, a w przeciwnym przypadku na odwrót.

Zamknij (Ctrl+Alt+G,C)

  Wpisywanie wielu klamer grup, może być trudnym zadaniem. To polecenie zamknie ostatnio otwartą grupę, tak aby struktura zagnieżdżonych grup TEX nie uległa przerwaniu.

Cudzysłowy
Cudzysłowy

## Cudzysłowy

W LATEX, jako cudzysłowu używa się dwóch pojedynczych apostrofów. Aby pomóc przy ich wydajnym wstawianiu, Kile umożliwia naciśnięcie " w celu wstawienia dwóch otwierających pojedynczych apostrofów. W późniejszym czasie, do zamknięcia cudzysłowu, należy także nacisnąć ". Kile jest na tyle dobrze zaprogramowane, aby rozpoznać tę sytuację i wstawi dwa zamykające apostrofy dla LATEX.

Aby literalnie uzyskać cudzysłów po drugiej stronie, naciśnij dwukrotnie ".

Można włączyć lub wyłączyć to samowstawianie otwierających i zamykających podwójnych apostrofów w dziale Ustawienia → Ustawienia Kile... → LaTeX.

Jeśli chcesz także dodać opcje wyjątkowe dla języka takie jak `ngerman` lub `french`, to będzie można używać niemieckich lub francuskich podwójnych apostrofów. Dostępnych jest oczywiście więcej języków.

Inteligentny nowy wiersz
Inteligentny nowy wiersz

## Inteligentny nowy wiersz

Po naciśnięciu Ctrl+Enter, Kile wstawia inteligenty znak nowego wiersza. Jeśli kursor znajduje się wewnątrz otoczenia listy, jak na przykład `enumerate` lub `itemize`, to Kile wstawi nie tylko znak nowego wiersza, ale także doda polecenie `\item`.

Będąc wewnątrz otoczenia tabeli, Kile zakończy bieżący wiersz `\\` z nowym wierszem po tym.

Będąc wewnątrz komentarza LATEX, Kile rozpocznie nowy wiersz od `%`.

Nawet lepiej, Kile zostało zaprogramowane tak, aby obsługiwać dostarczane domyślnie i określone przez użytkownika otoczenia LATEX, które można dodawać w dziale Ustawienia → Ustawienia Kile... → LaTeX.

Inteligentny tabulator
Inteligentny tabulator

## Inteligentny tabulator

Niektórzy użytkownicy wolą układać kolumny w otoczeniach tabel i umieszczać wszystkie znaki & jeden pod drugim. W Kile usiłowano wprowadzić obsługę dla tego przyzwyczajenia. Jeśli naciśniesz Alt+Shift+&, to Kile poszuka następnego tabulatora w wierszu powyżej. Mimo to tabulator ten może nie być tym odpowiadającym, Kile doda trochę odstępu, aby dostosować położenie kolumny do bieżącego tabulatora.

Rozdział 6. Uzupełnianie kodu
Uzupełnianie kodu

# Rozdział 6. Uzupełnianie kodu

Mimo tego, ze Kate już zapewnia dobry tryb uzupełniania kodu, Kile rozszerza możliwości uzupełniania przydatne szczególnie dla LATEX. Dodano pięć różnych trybów. Trzy z nich działają na żądanie, a pozostałe dwa działają w trybie samouzupełniania. Wszystkie tryby można ustawić w menu Ustawienia → Ustawienia Kile... tak, aby działały bardzo różnie.

## Samouzupełnianie otoczeń

Przy rozpoczynaniu nowego otoczenia poprzez wpisywanie `\begin{otoczenie}`, Kile samoczynnie doda polecenie `\end{otoczenie}` z wierszem pomiędzy na twój tekst.

Samouzupełnianie można wyłączyć w dziale LATEX menu Ustawienia → Ustawienia Kile... → LaTeX+Otoczenia.

Uzupełnianie otoczeń równań

Polecenia LATEX
Polecenia LATEX

## Polecenia LATEX

Przy pisaniu niektórych liter, można włączyć ten tryb uzupełniania dla poleceń LATEX i zwyczajnych słów poprzez menu Edycja → Uzupełnianie → Polecenia (La)TeX lub skrótu klawiszowego Ctrl+Shift+Spacja. Kile najpierw odczytuje litery z bieżącego położenia kursora do lewej i zatrzymuje się na pierwszym znaku nie będącym literą, ani ukośnikiem wstecznym. Jeśli wzorzec ten zaczyna się od ukośnika wstecznego, to Kile przestawi się w tryb uzupełniania dla poleceń TEX lub LATEX. W przeciwnym przypadku przejdzie w tryb zwykłego słownika, w którym nie ma żadnych poleceń LATEX. W zależności od wybranego trybu, zostanie otwarte pole uzupełniania. Pojawią się wszystkie polecenia lub słowa, których początek pasuje do bieżącego wzorca. Możesz przemieszczać się po tym wykazie przy użyciu klawiszy strzałek i wybierać jego wpisy przy użyciu klawisza Enter lub poprzez dwukrotne naciśnięcie przyciskiem myszy.

Po naciśnięciu klawisza Backspace, ostatnia litera we wzorcu zostanie usunięta, a wykaz z wyrazami do uzupełnienia może się powiększyć. Z drugiej strony, po napisaniu dodatkowej litery wydłuży to wzorzec, a przez to wykaz możliwych słów pomniejszy się.

Jeśli nie wybierzesz żadnej sugestii, możesz opuścić to okno dialogowe przy użyciu klawisza Esc.

Zauważysz, że wszystkie te polecenia są wyświetlane z krótkim opisem ich parametrów. Opisy te zostają oczywiście usunięte po wybraniu polecenia. Opcjonalnie można zezwolić Kile na wstawianie punktorów w tych miejscach, tak aby można było szybko przejść do tych miejsc przy użyciu Edycja → Punktory → Następny punktor i wstawić żądany parametr.

Przejdź do Ustawienia → Ustawienia Kile... → Kile+Uzupełnianie, aby ustawić jeden lub więcej z tych wykazów. Można wybrać różne wykazy słów dla poleceń TEX oraz LATEX i tryb słownika dla zwyczajnych słów.

Po wybraniu opcji Pokaż polecenia Latex, w osobnym widoku paska bocznego Kile zostaną pokazane wpisy wszystkich wybranych plików cwl (z ang. spakowany wykaz słów) z uzupełnieniami poleceń LATEX. Będzie można zobaczyć dostępne polecenia wraz z parametrami i opcjami, które trzeba lub można dać, aby zadziałały. Można także zaznaczyć jeden wpis naciśnięciem klawisza myszy, a zostanie on wstawiony do dokumentu pozbawiony wszystkich nazwanych parametrów i opcji.

Jako iż każdy wykaz słów będzie wyświetlany w osobnym widoku, może się zdarzyć, że takich widoków będzie tak dużo, że główne okno Kile może być większe niż mały ekran to umożliwia. Ponieważ wygląda to brzydko, Kile posiada ograniczenie dopuszczalnej liczby widoków, które domyślnie jest ustawione na 10. Jeśli wartość ta jest za duża dla twojego ekranu, to ją zmniejsz.

Otoczenia
Otoczenia

## Otoczenia

Tryb polecenia nie jest użyteczny przy uzupełnianiu otoczeń kodu. Zawsze należy wpisywać kilka liter `\begin`, a wywołanie trybu uzupełniania wywoła długi wykaz znaczników otoczeń. Z drugiej strony, otoczenia są używane tak często, że Kile zapewnia tryb przystosowany do uzupełniania kodów otoczeń. Zapomnij o znaczniku otwierającym i napisz, na przykład, `al`.

Przy wywoływaniu trybu uzupełniania poprzez Edycja → Uzupełnianie → Otoczenie lub skrótu klawiszowego Alt+Shift+Spacja, znacznik otwierający dodawany jest samoczynnie i pojawi się `\begin{al}`. Po tej zmianie, wykaz z uzupełnieniami jest bardziej czytelny.

Teraz zaznacz otoczenie i zobacz, że ono także zostanie samoczynnie zamknięte. Nawet więcej, jeśli Kile uzna je jako otoczenie listy, to wstawi także pierwszy znacznik `\item`.

Przejdź do Ustawienia → Ustawienia Kile... → Kile+Uzupełnianie, aby ustawić jeden lub więcej takich wykazów. Ten tryb używa tego samego wykazu słów co tryb uzupełniania dla poleceń TEX oraz LATEX.

Skróty
Skróty

## Skróty

Kile obsługuje wykaz skrótów przygotowanych przez użytkownika, które są zastępowane na żądanie przez dłuższe ciągi znaków. Zajrzyj do Ustawienia → Ustawienia Kile... → Kile+Uzupełnianie, aby ustawić jeden lub więcej takich wykazów. Dla przykładu danego tutaj, należy wybrać wykaz skrótów w pliku `example.cwl`. W tym pliku znajdziesz, na przykład, wpis `L=\LaTeX`.

Dla przykładu, wpisz literę `L`. Teraz wywołaj uzupełnianie słów w trybie skrótów poprzez Edycja → Uzupełnianie → Skróty lub poprzez kombinację klawiszy Ctrl+Alt+Spacja a litera `L` zostanie zastąpiona ciągiem znaków `\LaTeX`.

Uzupełnianie skrótów obsługuje także znak nowego wiersza `%n` oraz `%C`, jeśli znaki te są obecne w tekście rozwinięcia. Więc jeśli masz wpis

    en1=\begin{enumerate}%n\item %C%n\end{enumerate}%n

w pliku z uzupełnieniami i wywołasz uzupełnianie skrótu, to rozszerzenie będzie wyglądać tak jak poniżej, gdzie `x` pokazuje końcowe położenie kursora.

    \begin{enumerate}
            \item x
    \end{enumerate}

### Skróty

Wybranie Pokaż skróty spowoduje wyświetlenie wszystkich możliwych skrótów w widoku paska bocznego. Możliwe zatem będzie przejrzenie wszystkich możliwych skrótów.

Tryby samouzupełniania
Tryby samouzupełniania

## Tryby samouzupełniania

### Polecenia LATEX

Można także włączyć tryb samouzupełniania dla poleceń LATEX. Po przekroczeniu danego progu liczby liter (domyślnie: 3) wysuwa się okno z wykazem wszystkich pasujących poleceń LATEX. Można wybrać jedno z tych poleceń lub zlekceważyć to okno i wpisywać dalsze litery. Wpisy okna z uzupełnieniami będą się zawsze zmieniały tak, aby pasowały do obecnie wpisanego słowa.

Przejdź do Ustawienia → Ustawienia Kile... → Kile+Uzupełnianie, aby włączyć lub wyłączyć ten tryb lub zmienić próg.

### Słowa dokumentu

Duże słowniki nie sprzyjają trybowi samouzupełniania. Zauważyliśmy jednak, że wiele słów w dokumentach jest wpisywanych więcej niż raz. Tak więc do uzupełniania Kile zapewnia wszystkie słowa, które użytkownik już wpisał w dokumencie. Można ręcznie wywołać to uzupełnianie po naciśnięciu Ctrl+Spacja. Zauważ, że ten tryb różni się od trybu uzupełniania dla poleceń LATEX.

Aby włączyć lub wyłączyć ten tryb, przejdź do Ustawienia → Ustawienia Kile... → Edytor → Edytowanie+Samouzupełnianie. W tym oknie dialogowym można ustawić czy tryb uzupełniania dla słów dokumentu ma być włączony. Istnieje także dodatkowy tryb samouzupełniania, w którym wysuwa się pole z wyrazami uzupełniającymi przy przekroczeniu pewnego progu.

Pisanie własnych plików z uzupełnieniami
Pisanie własnych plików z uzupełnieniami

## Pisanie własnych plików z uzupełnieniami

Najnowszą specyfikację formatu plików z uzupełnieniami można znaleźć na specyfikacja formatu plików CWL.

Pliki z uzupełnieniami można wgrać do katalogu domowego użytkownika w podkatalogu `~/.kde/share/apps/kile/complete/<mode>/` , gdzie `<mode>` oznacza `abbreviation`, `dictionary` lub `tex`.

Rozdział 7. Pomocnicy i okna dialogowe
Pomocnicy i okna dialogowe

# Rozdział 7. Pomocnicy i okna dialogowe

## Pomocnik SzybkiegoStartu

Ten pomocnik już został opisany w dziale Pomocnik SzybkiegoStartu

Dołączanie grafiki
Dołączanie grafiki

## Dołączanie grafiki

Okno dialogowe Dołącz grafikę czyni wstawianie grafiki tak prostym jak to tylko możliwe. Można je wywołać poprzez pasek menu LaTeX → Wstawianie obrazu. Zajrzyj do Formaty plików graficznych oraz Grafika EPS, aby dowiedzieć się co nieco o formatach graficznych.

1. Wybierz plik z grafiką. Może to być JPEG, PNG, PDF, EPS lub nawet EPS spakowany programem zip lub gzip. Jeśli masz ImageMagick i Kile jest ustawiony na jego używanie (Ustawienia → Ustawienia Kile... → LaTeX+Grafika), to wysokość i szerokość grafiki pokazywana jest samoczynnie. Jeśli ImageMagick może określić rozdzielczość, to rozmiar grafiki jest pokazywany również w centymetrach.

2. Wybierz czy twój obraz ma być wyśrodkowany na stronie.

3. Wybierz czy dla swoich plików z grafiką chcesz używać zapisu `\graphicspath`

   Domyślnie, pliki z grafiką muszą być w tym samym katalogu co dokument nadrzędny. Jednakże, możliwe jest umieszczenie ich w innym katalogu, aby mieć porządek. Bez polecenia `\graphicspath`, Kile dołączy ścieżkę dla pliku z grafiką. Jeśli jednak użyjesz `\graphicspath` w preambule w następujący sposób:

       \graphicspath{{/ścieżka/do/mojej/grafiki}{inna/ścieżka/do/innej/grafiki}}

   i zaznaczysz tę opcję, to Kile użyje tylko podstawy nazwy pliku z grafiką.

   Inny przykład: jeśli ustawisz polecenie `\graphicspath` w następujący sposób:

       \graphicspath{{./}{aparat/}{obrazy/}}

   LATEX będzie szukał w bieżącym katalogu, następnie w `aparat` i w końcu w `obrazy`, aby znaleźć pliki z grafiką.

4. Po wyborze albo szerokości albo wysokości, cała grafika zostanie proporcjonalnie przeskalowana. Po ustawieniu dwóch wartości tj. dla szerokości i wysokości w tym samym czasie, szerokość i wysokość może zostać przeskalowana przy użyciu różnych współczynników, co może być nie tym czego oczekujesz. Zobacz także informację w pobliżu góry okna dialogowego, aby poznać pierwotny rozmiar grafiki.

5. Wstaw kąt, o który obrócić grafikę przeciwnie do ruchu wskazówek zegara.

6. Informacje o polu ograniczającym są ustawiane samoczynnie po wyborze pliku z grafiką. Informacja ta jest potrzebna tylko, gdy pracujesz z tradycyjnymi plikami map bitowych LATEX. Zajrzyj do dyskusji o grafice EPS.

   Jeśli LATEX potrzebuje pola ograniczającego, a ty nie chcesz, aby utworzono plik bb, to Kile jest przygotowane na taką okoliczność. W innym przypadku PDFLATEX wyświetli ostrzeżenie przy próbie dołączenia grafiki png lub jpg przy wraz z tą opcją. To pole zaznaczane włącza lub wyłącza opcję pola ograniczającego.

7. Przeskaluj obraz o żądany współczynnik skalowania. Wpisz 0,5 aby zmniejszyć obraz o połowę lub 2, aby zwiększyć go dwukrotnie. Użycie tej opcji nie wymaga ustawienia szerokości lub wysokości obrazu.

8. Na karcie Przytnij obraz można przyciąć obraz na wszystkie cztery strony.

9. W końcu, musisz określić czy chcesz osadzić ten obraz w otoczeniu rysunku. Jeśli chcesz, aby tekst opływał rysunek, to raczej użyj otoczenia wrapfigure.

   ### Uwaga

   Po wyborze otoczenia opływania rysunku, musisz dołączyć pakiet wrapfig do twojej preambuły.

   W obu przypadkach, możesz wstawić podpis i etykietę dla obrazu. Ogólnie, dobrym pomysłem jest dodanie różnego przedrostka do każdego rodzaju etykiety. Powszechnym jest stosowanie przedrostka `rys:` dla rysunków.

10. Jeśli wybierzesz otoczenie rysunku, to możesz wybrać, w którym miejscu LATEX powinien go wstawić.

11. W otoczeniu wrapfigure można:

    1. Wybrać zasadę umieszczania rysunku i to czy powinien być pływający czy nie. W dwustronnym dokumencie można określić czy rysunek ma być po stronie wewnętrznej czy zewnętrznej strony.

    2. Określić liczbę skróconych wierszy tekstu ustawionych wzdłuż rysunku. Jeśli pozostawisz tę liczbę pustą, to LATEX określi ją samemu tak dobrze jak to tylko możliwe.

    3. Określić wystawanie w wybraną stronę. Jest to szczególnie użyteczne jeśli masz kolumny w dokumencie i chcesz, aby rysunek rozciągał się na więcej niż jedną kolumnę lub gdy chcesz umieścić skrócony tekst po obu stronach rysunku.

    4. Wybrać szerokość rysunku. Szerokość powinna być trochę większa niż szerokość obrazu, tak aby pozostała pusta przestrzeń pomiędzy rysunkiem, a tekstem.

Macierze i tabele
Macierze i tabele

## Macierze i tabele

Jedną z najnudniejszych prac w LATEX jest pisanie otoczeń macierzy i tabel. Należy przy tym pamiętać o wszystkich elementach, upewnić się, że otoczenia są dobrze ukształtowane i że wszystkie rzeczy są tam gdzie mają być. Dobre wcięcia pomagają, lecz istnieje prostszy sposób: użycie pomocnika Kile z menu Pomocnik → Macierze lub Pomocnik → Tabele. Po ich wybraniu ukaże się formularz wprowadzania w kształcie macierzy, który można łatwo wypełnić własnymi danymi. To okno dialogowe dostarcza także pewnych opcji do wprowadzania materiału tabelarycznego.

Przy użyciu paska narzędzi na górze okna dialogowego można ustawić `wyrównanie` komórki, określić `krój czcionki`, `połączyć` oraz `podzielić` komórki, wybrać `obramowanie` i określić `kolory` tła i czcionki. Najbardziej po prawej umieszczony jest przycisk Wklej. Dzięki temu przyciskowi można wstawić tabelę ze schowka do okna dialogowego, co np. umożliwia kopiowanie i wklejanie tabel z programu arkusza kalkulacyjnego.

Poniżej można wybrać żądaną liczbę wierszy i kolumn, a także dostroić pewne szczegóły dotyczące macierzy:

- Poprzez opcję Nazwa można wybrać otoczenie do użycia z macierzą lub tabelą.

- Można ustawić pionowe wyrównanie komórek poprzez opcję Parametr. Jest to włączone tylko dla otoczeń, które obsługują tę funkcję.

- Jeśli istnieje ona dla wybranego otoczenia, to można wybrać użyj gwieździstej wersji. Po wyborze tej opcji, musisz podać szerokość tabeli.

- Tabele czasami wyglądają ładniej po zaznaczeniu opcji użyj pakietu booktabs.

- Oczywiście, można także Wyśrodkować całą macierz.

- Wstawianie punktorów pomaga, gdy chcesz wypełnić edytor swoją treścią. Po zaznaczeniu tej opcji, Kile wstawi znaki wieloznaczne punktorów dla każdego elementu macierzy.

Opcja Pomocnik → Tabulatory wyświetli prostsze okno dialogowe do szybkiego ustawienia otoczenia tabulatorowego. Umożliwia łatwe określenie liczby wierszy i kolumn i wymagane odstępy.

Wstawianie elementów pływających
Wstawianie elementów pływających

## Wstawianie elementów pływających

Kile pomaga przy wstawianiu elementów pływających. Wraz z pomocnikiem Pomocnik → Pływające tworzenie nowych rysunków czy otoczeń z tabelami jest bardzo proste.

Aby wstawić nowe pływające otoczenie, wykonaj następujące kroki:

1. Wybierz czy chcesz wstawić rysunek czy tabelę.

2. Wybierz zasady rozmieszczania.

3. Podaj podpis dla elementu pływającego.

4. Wpisz etykietę dla nowego elementu pływającego. Kile samoczynnie zasugeruje odpowiedni przedrostek, np. "rys:" dla rysunków oraz "tab:" dla tabel.

Wstawianie otoczenia matematycznego
Wstawianie otoczenia matematycznego

## Wstawianie otoczenia matematycznego

Spamiętanie wszystkich sposobów w jakie różne elementy matematyczne działają może sprawiać kłopot. Oczywiście, Kile może tutaj wykonać całą magię za ciebie: Pomocnik → Matematyka

Opcje:

- Nazwa: Wybierz rodzaj elementu matematycznego do utworzenia.

- Bez numerowania: Poprzez to można wyłączyć numerowania dla elementów numerowanych takich jak równania lub wyrównania.

- Polecenie przestrzeni do oddzielenia grup: W otoczeniu, które obsługuje kilka grup takim jak alignat, można określić rozgranicznik przestrzenny, gdy masz więcej niż jedną grupę. Tutaj można podać polecenie przestrzeni, które istnieje w trybie matematycznym, np. \quad.

- Standardowy tabulator: Wybierz używany tabulator. Kile samoczynnie wybierze dla ciebie ten właściwy.

- Tryb wyświetlania matematyki: Dla otoczeń takich jak matryce lub macierze można wybrać w jakim otoczeniu matematycznym ma być wyświetlany tekst matematyczny.

- Użyj wypunktowania: Po zaznaczeniu tej opcji, Kile będzie wstawiać znaki wieloznaczne punktorów dla każdego elementu tekstu matematycznego.

Narzędzia PostScript®
Narzędzia PostScript®

## Narzędzia PostScript®

Pliki PS nie są tak powszechne jak pliki PDF, lecz są wspaniałą podstawą do zmiany treści i ułożenia stron. Jeśli potrzebujesz wyniku w postaci pliku PDF, to możesz zmienić ułożenie stron przy pomocy pewnych narzędzi PostScript®, a następnie przekształcić wszystko do pliku PDF poprzez polecenie ps2pdf.

Pomocnik PostScript® w menu Pomocnik → Narzędzia Postscript zasugeruje najpowszechniejsze zmiany ułożenia stron. Przekształcenia są dokonywane przy użyciu programów pstops oraz psselect, które w większości dystrybucji można znaleźć w pakiecie `psutils`. Jeśli jeden z tych programów nie jest dostępny, to odpowiedni element nie będzie widoczny.

Najpierw wybierz plik wejściowy. Jeśli Kile znajdzie plik PS odpowiadający twojemu bieżącemu dokumentowi nadrzędnemu, to zostanie on wybrany jako plik wejściowy, lecz można także wybrać inny plik. Następnie wybierz plik wyjściowy i jedno z zadań. Na końcu musisz wybrać czy chcesz tylko przekształcenia, czy także wywołania programu Okular do obejrzenia wyników.

1 strona A5 + pusta strona --> A4

  Na stronie A4 scal razem jedną stronę A5 z jedną pustą stroną. Przy scalaniu dwóch stron A5, strony te będą one obrócone o 90 stopni i ułożone na stronie A4 w poziomie.

1 strona A5 + powielenie --> A4

  Na stronie A4 umieść razem jedną stronę A5 i jej powielenie.

2 strony A5 --> A4

  Na stronie A4 umieść razem dwie kolejne strony A5.

2 strony A5L --> A4

  Na stronie A4 umieść razem dwie kolejne strony A5 w położeniu poziomym.

4 strony A5 --> A4

  Na stronie A4 scal cztery kolejne strony A5. Strony A5 będzie trzeba przeskalować ze współczynnikiem 0,7 aby zmieściły się razem na stronie.

1 strona A4 + pusta strona --> A4

  Na stronie A4 scal razem jedną stronę A4 z jedną pustą stroną. Przy scalaniu dwóch stron A4 na stronie A4, strony będą przeskalowane ze współczynnikiem 0,7 i ułożone w poziomie.

1 strona A4 + jej kopia --> A4

  Na stronie A4 umieść razem jedną stronę A4 i jej powielenie.

2 strony A4 --> A4

  Na stronie A4 umieść razem dwie kolejne strony A4.

2 strony A4L --> A4

  Na stronie A4 umieść razem dwie kolejne strony A4 w położeniu poziomym.

zaznacz parzyste strony

  Zaznacz wszystkie parzyste strony dokumentu.

zaznacz nieparzyste strony

  Zaznacz wszystkie nieparzyste strony dokumentu.

zaznacz parzyste strony (odwrotna kolejność)

  Zaznacz wszystkie parzyste strony dokumentu i odwróć ich kolejność.

zaznacz nieparzyste strony (odwrotna kolejność)

  Zaznacz wszystkie nieparzyste strony dokumentu i odwróć ich kolejność.

Odwrotna kolejność wszystkich stron

  Wszystkie strony dokumentu w odwrotnej kolejności.

skopiuj wszystkie stron (z sortowaniem)

  Skopiuj wszystkie strony dokumentu. Musisz wybrać liczbę posortowanych kopii.

skopiuj wszystkie strony (bez sortowania)

  Skopiuj wszystkie strony dokumentu. Musisz wybrać liczbę nieposortowanych kopii.

pstops: wybierz parametr

  Istnieje wiele opcji dla narzędzi pstops oraz psselect do działań na PostScript®. Jeśli potrzebujesz jakiejś bardzo wyjątkowej, możesz wywołać pstops z dowolnie wybranymi opcjami. Przeczytaj podręcznik użytkownika, aby poznać wszystkie możliwe opcje.

psselect: wybierz parametr

  Możesz wywołać psselect z dowolnie wybranymi opcjami. Przeczytaj podręcznik użytkownika, aby poznać wszystkie możliwe opcje.

Narzędzia PDF
Narzędzia PDF

## Narzędzia PDF

Wielu ludzi myśli, że pliki PDF są zamrożone i nie można ich zmieniać. Nie jest to prawdą, bo istnieją wspaniałe narzędzia do tego

- do zmiany zawartości i ułożenia stron

- do czytania i uaktualniania informacji o dokumencie

- do czytania, ustawiania lub zmiany niektórych uprawnień

istniejącego dokumentu PDF.

Pomocnik PDF w Pomocnik → Narzędzia PDF używa dwóch różnych sposobów do zmiany zawartości i ułożenia stron dokumentów PDF:

- Pakiet LATEX pdfpages, który jest częścią każdej dystrybucji LATEX. pdfpages nie działa z zaszyfrowanymi stronami.

- pdftk, który jest wspaniałym narzędziem wiersza poleceń i który jest narzędziem do wykonywania działań na dokumentach PDF (zajrzyj na Zestaw narzędzi PDF).

Jeśli jeden z tych pomocników, pdfpages lub pdftk, nie jest obecny w twoim systemie, to odpowiednie elementy nie będą widoczne. Pamiętaj, że tylko pdftk może pracować z zaszyfrowanymi plikami.

### Zmiany układu

Jeśli wywołano pomocnika PDF Kile, to utworzy on kartę rejestracyjną `Zmian ułożenia`.

Najpierw wybierz plik wejściowy. Jeśli Kile znajdzie plik PDF odpowiadający twojemu bieżącemu dokumentowi nadrzędnemu, to zostanie on wprowadzony jako plik wejściowy, mimo to pozostanie możliwość wyboru innego pliku. Następnie wybierz plik wyjściowy lub zastąpienie istniejącego pliku PDF i zaznacz jedno z zadań. W końcu, wybierz czy chcesz tylko przekształcenia, czy wywołania także przeglądarki (np. Okular), aby wyświetlić dokument wynikowy.

Jeśli plik PDF jest zaszyfrowany, to tylko pdftk zadziała i trzeba będzie podać hasło dla tego dokumentu, aby wykonywać na nim prace.

1 strona + pusta strona --> A4

  Scal stronę z pustą stroną na stronie A4. Przy scalaniu dwóch stron A5, są one obracane o 90 stopni i wyrównywane na stronie A4 w trybie poziomym.

  Przy scalaniu dwóch stron A4, są one obracane o 90 stopni i wyrównywane na stronie A4 w trybie poziomym.

1 strona + jej powielenie --> A4

  Na stronie A4 umieść razem jedną stronę i jej powielenie.

  Jeśli powielona strona ma rozmiar A4, to zostanie przeskalowana, aby dopasować się do strony.

2 strony --> A4

  Scal ze sobą dwie kolejne strony na stronie A4. Przy scalaniu dwóch stron A5, są one obracane o 90 stopni i wyrównywane na stronie A4 w trybie poziomym.

  Przy scalaniu dwóch stron A4, są one obracane o 90 stopni i wyrównywane na stronie A4 w trybie poziomym.

2 strony (poziomo) --> A4

  Na stronie A4 umieść razem dwie kolejne strony w położeniu poziomym.

4 strony --> A4

  Scal cztery kolejne strony do jednej strony A4. Strony muszą być przeskalowane, aby dopasować się do strony.

4 strony (poziomo) --> A4

  Na stronie A4 umieść razem cztery kolejne strony w poziomie. Strony te zostaną przeskalowane, aby zmieścić się razem na jednej stronie.

zaznacz parzyste strony

  Zaznacz wszystkie parzyste strony dokumentu.

zaznacz nieparzyste strony

  Zaznacz wszystkie nieparzyste strony dokumentu.

zaznacz parzyste strony (odwrotna kolejność)

  Zaznacz wszystkie parzyste strony dokumentu i odwróć ich kolejność.

zaznacz nieparzyste strony (odwrotna kolejność)

  Zaznacz wszystkie nieparzyste strony dokumentu i odwróć ich kolejność.

Odwrotna kolejność wszystkich stron

  Wszystkie strony dokumentu w odwrotnej kolejności.

odszyfruj plik

  Jeśli plik PDF jest zaszyfrowany, to można go odszyfrować.

wybierz strony

  Wpisz strony lub zakresy stron rozdzielone przecinkami, np. 1,4-7,9. Tylko te strony będą widoczne w pliku wynikowym PDF.

usuń strony

  Wpisz strony lub zakresy stron rozdzielone przecinkami, które mają zostać usunięte z wybranego pliku PDF.

nałóż na tło znak wodny

  Przykłada znak wodny PDF na tle pojedynczego pliku wejścia PDF. Pomocnik używa tylko pierwszej strony z tła pliku PDF i przykłada go na każdej stronie pliku wejściowego PDF. Strona ta zostaje przeskalowana i obrócona gdy potrzeba, aby dopasować stronę wejściową.

zastosuj kolor tła

  Nakłada kolor tła na wszystkie strony bieżącego dokumentu. Można to zrobić tylko raz, ponieważ drugi kolor zostanie umieszczony za pierwszym kolorem i nie będzie widoczny.

zastosuj pierwszoplanowy stempel

  Przykłada pierwszoplanowy stempel na wierzchu stron dokumentu wejściowego PDF. Pomocnik używa tylko pierwszej strony ze stempla pliku PDF i przykłada go na każdej stronie pliku wejściowego PDF. Strona ta zostaje przeskalowana i obrócona gdy potrzeba, aby dopasować stronę wejściową. Działa to najlepiej, gdy strona PDF stempla ma przezroczyste tło.

pdftk: wybierz parametr

  pdftk można wywołać z własnymi opcjami. Przeczytaj instrukcję obsługi dla wszystkich możliwych opcji.

pdfpages: wybierz parametr

  pdfpages można wywołać z własnymi opcjami. Przeczytaj instrukcję obsługi dla wszystkich możliwych opcji.

### Właściwości

Ustawianie, zmiana i usuwanie właściwości będą możliwe tylko wtedy, gdy dostępny będzie pakiet pdftk, a także gdy Kile zostało skompilowane z biblioteką `libpoppler`.

Standardowo metadane PDF zawierają tytuł dokumentu, autora, temat, słowa kluczowe, twórcę, generator oraz daty utworzenia i ostatniej zmiany.

### Uprawnienia

Również tutaj ustawianie, zmiana i usuwanie właściwości będą możliwe tylko wtedy, gdy dostępny będzie pakiet pdftk.

Do nadania i zmiany ustawień dokumentu potrzebne jest hasło. Dodatkowo, plik PDF jest szyfrowany, aby zamknąć jego treść poprzez hasło lub żeby wymusić lekkie ograniczenia nałożone przez autora. Autor może pozwolić lub zabronić:

- drukowania stron

- zmieniania stron

- kopiowania tekstu i grafiki ze stron

- zmieniania lub dodawania przypisów

- wypełniania pól formularzy danymi.

Zmiana uprawień zawsze wymusza szyfrowanie skojarzone z zabezpieczeniem 128-bitowym `Acrobata` 5 i 6, a także wymaga hasła.

Zapamiętaj na zawsze: szyfrowanie i hasło nie zapewniają żadnej rzeczywistej ochrony pliku PDF. Treść jest zaszyfrowana, lecz klucz jest znany. Należy na to spojrzeć raczej jako grzeczne, lecz stanowcze żądanie poszanowania życzeń autora.

Statystyka dokumentu
Statystyka dokumentu

## Statystyka dokumentu

Okno dialogowe statystyki Plik → Statystyka dostarcza przeglądu statystycznego dla zaznaczania, dokumentu lub całego projektu. Uwzględnia liczbę słów, poleceń/otoczeń LATEX a także liczbę znaków dla każdego rodzaju.

Uzyskane statystyki można skopiować do schowka jako tekst lub jako schludnie sformatowaną tabelę LATEX.

Po zaznaczeniu tekstu i otwarcia okna dialogowego statystyk, zyskujesz dostęp do statystyki obecnie zaznaczonego tekstu. Jeśli otworzysz okno dialogowe bez zaznaczania tekstu, to pokazywana jest statystyka dla wszystkich otwartych plików. Jeśli chcesz uzyskać statystykę dla całego projektu, użyj Projekt → Otwórz wszystkie pliki projektu, aby w łatwy i szybki sposób otworzyć wszystkie pliki źródłowe twojego projektu.

Trochę uwagi należy poświęcić precyzji liczb. Dodaliśmy trochę logiki, aby uzyskać dobre przybliżenie, np. K\"uhler daje jedno słowo i jedno polecenie, odpowiednio z sześcioma i dwoma znakami. Istnieją jednak inne kombinacje, w których części poleceń są liczone jako słowa i na odwrót. Zauważ, że algorytm został opracowany i wypróbowany dla języków podobnych do angielskiego lub niemieckiego, więc nie bierz tych liczb za wyznaczniki. Jeśli piszesz sprawozdanie, którego długość nie może przekroczyć pewnej liczby słów lub znaków, to najpierw przeprowadź kilka prób, aby sprawdzić, czy dokładność Kile spełnia twoje potrzeby.

Rozdział 8. Specjalne znaczniki w LATEX
Specjalne znaczniki w LATEX

# Rozdział 8. Specjalne znaczniki w LATEX

## Używanie biblioteki znaczników LATEX

LATEX zawiera tysiące znaczników dla symboli i znaków specjalnych. Najłatwiejszym sposobem na wstawianie tych znaków jest użycie menu paska bocznego, na lewo od okna edytora.

Menu paska bocznego

Dostępne są następujące rodzaje:

- Najczęściej używane

- Relacja

- Operatory

- Strzałki

- Różne matematyczne

- Różny tekst

- Znaki rozdzielające

- Grecki

- Znaki specjalne

- Znaki z cyrylicy

- Własne symbole

Podpowiedzi do ikon, pokazują polecenia LATEX i dodatkowo potrzebne pakiety.

Wciśnięcie klawisza Shift i naciśnięcie na symbolu poskutkuje tym, że zostanie wstawiony `$\symbolcmd$`. Podobnie, naciśnięcie Ctrl wstawi go w nawiasach klamrowych.

Jeśli wstawiasz polecenie, które wymaga pakietu, który nie jest dołączony do twojego dokumentu LATEX, to zobaczysz wiadomość ostrzegawczą w oknie dziennika.

Pierwszy wykaz symboli przechowuje symbole Najczęściej używane. Po każdorazowym wstawieniu symbolu zostanie on dodany do tego wykazu celem szybkiego i łatwego odwoływania się do niego. Porządkowanie symboli nie będzie zmieniane po dodaniu nowych symboli, zwiększy się natomiast licznik jego użyć. Jeśli liczba elementów przekroczy 30, to element o najmniejszej przypisanej liczbie zostanie usunięty.

Wykaz symboli Własne symbole przechowuje twoje własne symbole. Aby utworzyć własny symbol, potrzeba programu gesymb i pliku `definitions.tex` z pakietu źródłowego Kile. Dodatkowo, potrzeba kompilatora LATEX (co za niespodzianka) oraz dvipng (wersja 1.7 lub późniejsza). Najpierw trzeba utworzyć plik LATEX wraz z `\input{definitions}`, co czyni polecenia wymienione poniżej dostępnymi i umożliwia wydanie polecenia `gesymb mysymbols.tex user` (co wywołuje LATEX oraz dvipng) tworzenia ikon. Po skopiowaniu ich do `$HOME/.kde/share/apps/kile/mathsymbols/user/` i ponownym uruchomieniu Kile, będzie można używać własnych symboli.

W pliku `definitions.tex` określono następujące polecenia:

- `\command[\optarg]{\symbol}`: Dołącz symbol `\symbol` do wykazu symboli, argument opcjonalny `\optarg` określa polecenie, które Kile ma wstawić. Jeśli argument nie zostanie podany, to zostanie użyte polecenie z wymaganym argumentem.

- `\mathcommand[\optarg]{\symbol}`: Tak samo jak powyżej, z tym, że polecenie z obowiązkowym argumentem jest wstawiane w trybie matematycznym.

- `\pkgs[arg]{pkg}`: Uprzedź, że polecenie podane w tym wierszu wymaga pakietu LATEX `pkg` z opcjonalnym argumentem `arg`. Polecenie to musi być na początku polecenia `\command` i zastępuje każde polecenie żądania pakietu poprzez otoczenie neededpkgs.

- `\begin{neededpkgs}[pkgs-args]{pkgs} ... \end{neededpkgs}`: Ma to samo zastosowanie co polecenie powyższe, lecz dla wszystkich zawartych w nim poleceń.

Dla pewności podano tutaj przykład:

    \documentclass[a4paper,10pt]{article}
    \usepackage{amssymb}
    \input{definitions}
    %
    \begin{document}
    \pagestyle{empty}
    %
    \begin{neededpkgs}{amssymb}
    \mathcommand{\surd}
    \pkgs{amsmath}\mathcommand[\ddddot{}]{\ddddot{a}}
    \mathcommand{\angle}
    \end{neededpkgs}
    \command{\"A}
    \mathcommand{\exists}
    \mathcommand[\stackrel{}{}]{\stackrel{abc}{=}}

    %\begin{neededpkgs}[russian,koi8-r,T2C,]{babel,inputenc,fontenc,mathtext}
    %
    %   \end{neededpkgs}
    % to będzie musiało dołączyć pakiety
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  tylko po to, aby ustalić format
    \end{document}

Używanie elementów Bibitems
Używanie elementów Bibitems

## Używanie elementów Bibitems

`\bibitem` jest poleceniem używanym do wpisywania bibliografii w dokumencie w otoczeniu `thebibliography`. Składnia do używania `\bibitem` jest następująca `\bibitem[etykieta]{klucz}`.

Opcjonalne `[etykieta]` jest w celu dodania własnego systemu etykiet dla wpisów bibliograficzny. Jeśli nie ustawiono etykiety, to zostaną one ustawione w porządku numerycznym : [1], [2], [3], itp.

Argument `{klucz}` jest używany, aby odwoływać się i łączyć polecenia `\bibitem` oraz `\cite` nawzajem, a także informacje, które zawierają. Polecenie `\cite` zawiera etykietę skojarzoną z `\bibitem`, która jest umieszczona wewnątrz otoczenia `thebibliography` i zawiera dane odniesienia. Oba odpowiadające sobie `\bibitem` oraz `\cite` muszą mieć ten sam `{klucz}`; najprostszym sposobem na zorganizowanie kluczy jest ustawienie ich wartości jako nazwiska autorów. Drugie klamry w otoczeniu `thebibliography` oznaczają najdłuższą etykietę bibliografii, którą możesz mieć. Tak więc wstawienie `{`foo`}` oznacza, że możesz mieć dowolną etykietę krótszą lub tak samo długą jak wyrażenie ``foo``. Niepowodzenie przy ustawieniu tego parametru poprawnie może skutkować w nieatrakcyjnych wcięciach w twojej bibliografii.

Bibliografia jest działem oddzielonym od twojego głównego dokumentu, a przykładowy kod dla bibliografii wygląda następująco:

    \begin{thebibliography}{50}
            \bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm...pączki}. Evergreen Terrace Printing Co.,
                              Springfield, SomewhereUSA, 1998
    \end{thebibliography}

Wtedy twój główny kod źródłowy musi zawierać informacje o położeniu informacji odnoszących się do `\bibitem` przy użyciu polecenia `\cite`. Przykładowy kod źródłowy wygląda następująco:

    Moja praca dyplomowa o filozofii The Simpsons\copyright pochodzi z mojej ulubionej książki \cite{Simpson}.

Ponieważ trudno jest zapamiętać dokładny klucz cytowania, gdy posiada się wiele odsyłaczy, Kile zapewnia łatwy sposób na wstawianie cytowań. Wybranie LaTeX → Odsyłacze → Cytowanie wywoła wykaz kluczy cytowania. Wybierz właściwy odsyłacz, a cytowanie zostanie wstawione do dokumentu. Aby uaktualnić wykaz kluczy, albo zapisz plik, albo wybierz Edycja → Odśwież strukturę lub naciśnij klawisz F12. Przy włączonym uzupełnianiu kodu, Kile pokaże wykaz wszystkich etykiet `bibitem` zaraz po zakończeniu polecenia `\cite`.

Ostateczny wynik w bibliografii twojego dokumentu będzie wyglądał następująco:

`[1] Homer J. Simpson. Mmmmm...pączki. Evergreen Terrace Printing Co., Springfield, SomewhereUSA, 1998.`

Kile może także współpracować z edytorami BibTEX, takimi jak KBibTEX, aby uczynić wprowadzanie cytowani łatwiejszymi. Po dodaniu pliku BibTEX do projektu, Kile pomoże uzupełnić polecenia cytowania, w sposób opisany powyżej.

Rozdział 9. Menu tworzone przez użytkownika
Menu tworzone przez użytkownika

# Rozdział 9. Menu tworzone przez użytkownika

## Ustawienia

Kile obsługuje menu tworzone przez użytkownika, które będzie się ukazywać jako menu Kile. Menu to można utworzyć przy użyciu okna dialogowego tworzenia Kile poprzez Ustawienia → Ustawienia Kile → Menu użytkownika.

Menu można umieścić w jednym z dwóch miejsc:

- albo Menu użytkownika będzie wyświetlane na głównym pasku menu pomiędzy menu LaTeX i Pomocnik, a pomocnik do Edytowania menu użytkownika w menu Pomocnik

- albo oba elementy będą wyświetlane na dole menu LaTeX.

Istniejące znaczniki określone przez użytkownika w starszych wersjach Kile zostaną samoczynnie przekształcone na nowe menu ustawialne przez użytkownika. Znaczniki zostaną zapisane w pliku o nazwie `usertags.xml` i jak wszystkie pliki od menu, można będzie je znaleźć w lokalnym katalogu menu użytkownika Kile: `KILE_APP_DIR/usermenu/`, np. `/home/user/.kde/share/apps/kile/usermenu/`.

Można używać różnych plików określających menu dla różnych zadań. Wywołaj pomocnika menu poprzez Pomocnik → Edycja menu użytkownika lub LaTeX → Edycja menu użytkownika , aby wgrać lub edytować plik definicji menu.

Pomocnik
Pomocnik

## Pomocnik

Można utworzyć lub zmienić istniejące menu przy użyciu pomocnika tworzenia menu użytkownika, którego można znaleźć w menu Pomocnik → Edycja menu użytkownika.

Po lewej stronie widać istniejące drzewo menu. Jako standardowe menu, zawiera ono trzy różne rodzaje elementów menu:

- standardowe wpisy menu, które są przypisywane do działań

- podmenu, które zawierają więcej elementów menu

- rozdzielniki, do uzyskania przejrzystej struktury wszystkich wpisów.

Do zmieniania tego menu, używaj sześciu przycisków po lewej. Więcej możliwości jest dostępnych z menu podręcznego już istniejących elementów menu.

Każdy standardowy element menu jest przypisany do jednego z trzech rodzajów działań, gdzie każdy z nich ma różne atrybuty, które można ustawić:

- Tekst: Kile daje możliwość tworzenia własnych znaczników. Znacznik jest podobny do skrótu, który uruchamia pewne polecenie lub zapisuje często używane teksty, np. Jan Kowalski często używa zdań `Cześć, zostałem wstawiony ...`. Znacznik ten zostanie wstawiony w bieżącym położeniu kursora, przy wywołaniu działania (zobacz rysunek powyżej). Metaznaki są również dostępne (zobacz Znaki wieloznaczne).

- Wstawianie treści pliku: Wstawia pełną treść danego pliku.

- Wykonanie zewnętrznego programu: Wynik wykonywania takiego programu można wstawić do otwartego dokumentu. W wierszu poleceń można także używać metaznaku `%M`, a wtedy zaznaczony tekst zostanie zapisany do pliku tymczasowego. Użyj `%M` do nadania nazwy plikowi tymczasowemu.

Jeśli brakuje jakiejś ważnej informacji dla działania, to elementy menu zostaną zabarwione na czerwony. Powodem może być na przykład nieistniejący plik

lub brakujący tytuł dla wpisu menu, co zostanie wyświetlone jako trzy znaki zapytania: `???`

Po otwarciu menu podręcznego zabarwionego na czerwono elementu menu, pojawią się dodatkowe informacje dotyczące tego błędu.

Więcej informacji można uzyskać poprzez użycie funkcji większości elementów interfejsu o nazwie Co to jest?.

Znaki wieloznaczne
Znaki wieloznaczne

## Znaki wieloznaczne

### Wstawianie tekstu

W znacznikach określonych przez użytkownika można wykorzystywać pewne znaki wieloznaczne: `%C`, `%B`, `%M`, `%E`, `%R` oraz `%T`.

- `%C`: jest to miejsce, w którym zostanie wstawiony kursor po wstawieniu znacznika określonego przez użytkownika.

- `%B`: zostanie zastąpione przez punktor (zobacz Punktory).

- `%M`: zostanie zastąpione zaznaczonym tekstem.

- `%E`: określa głębokość wcięcia tekstu wewnątrz otoczenia.

- `%R`: wywoła okno dialogowe odsyłaczy do wybrania wcześniej określonej etykiety. Można go używać do odwoływania się do wcześniej określonych etykiet, które można wybrać z listy rozwijanej (zajrzyj także do LaTeX → Odsyłacze → ref lub LaTeX → Odsyłacze → pageref).

- `%T`: wywoła okno dialogowe cytowania do wybrania wcześniej określonego cytatu. Tak samo jak w przypadku odwołań LaTeX → Odsyłacze → cite przywoła listę ze wszystkimi kluczami cytowań.

Rozważmy przypadek następującego makra `\frac{%M}{%C}`. Najpierw, wybierzemy liczbę w naszym tekście, powiedzmy `42`. teraz wywołamy to makro i otrzymamy `\frac{42}{}` z kursorem położonym w drugiej parze nawiasów.

### Wstawianie treści pliku

Przy wstawianiu treści plików tekstowych, można wykorzystać te same znaki wieloznaczne.

### Wykonywanie programu

Przy wykonywaniu zewnętrznego programu, rozpoznawany jest tylko `%M` dla zaznaczonego tekstu w wierszu poleceń. Zaznaczenie zostanie zapisane w pliku tymczasowym, a znak wieloznaczny `%M` zostanie zastąpiony nazwą tego pliku tymczasowego.

Kolejnym znakiem wieloznacznym jest `%S`, który jest zastępowany przez nazwę pliku bieżącego dokumentu bez ścieżki. Ta nazwa składa się ze znaków aż do ostatniego znaku '.' lecz nie jest on dodawany do tej nazwy.

Parametr
Parametr

## Parametr

Większość ze wpisów menu może mieć dodatkowe parametry, które można zaznaczyć. Jeśli niektóre z tych parametrów nie są dostępne dla pewnych działań, to będą one wyłączone.

Oto przykład na wykonywanie programu zewnętrznego:

Można zauważyć, że wywoływany jest skrypt `perl`, który powinien zadziałać z bieżącym zaznaczeniem. Parametr Wymaga zaznaczonego tekstu jest zaznaczony, aby zapewnić istnienie zaznaczenia. Wynik tego skryptu zostanie wstawiony (Wstawienie wyjścia wybranego programu) i zastąpi bieżące zaznaczenie (Zastąpienie zaznaczonego tekstu), lecz nie zaznaczy go.

Plik określające menu
Plik określające menu

## Plik określające menu

W czasie działania programu można wgrać różne menu dla różnych działań. Po wywołaniu pomocnika menu użytkownika, wczytywany jest plik określający bieżące menu. Jeśli je zmienisz i zamkniesz okno dialogowe poprzez OK, to zmiany zostaną zapisane i wgrane jako nowe menu użytkownika. Zamknięcie okna dialogowego poprzez Anuluj porzuci zmiany.

Można także zapisać zmienione pliki w katalogu menu użytkownika lub wczytać i wgrać inny plik określający menu. Wszystkie pliki określające menu muszą być zapisane w katalogu lokalnym menu użytkownika Kile: `KILE_APP_DIR/usermenu/`.

Spójrz na przykładowy plik określający menu `example.xml`, aby zobaczyć więcej wpisów menu z ich parametrami.

Rozdział 10. Narzędzia budowania
Narzędzia budowania

# Rozdział 10. Narzędzia budowania

## Kompilowanie, przekształcanie oraz przeglądanie

Aby obejrzeć wyniki pracy, musisz skompilować kod źródłowy. Wszystkie narzędzia budowania zostały zgrupowane w menu Budowanie → Kompilowanie, Budowanie → Przekształcanie, oraz Budowanie → Widok.

Aby skompilować swój kod źródłowy dla przeglądarek ekranowych takich jak Okular lub do dalszych przekształceń, możesz użyć skrótu Alt+2. Następnie można przeglądać plik DVI przy użyciu domyślnej przeglądarki poprzez Alt+3, przekształcić plik DVI na PS poprzez Alt+4 oraz obejrzeć plik PS poprzez Alt+5.

### BibTEX

Jeśli używasz BibTEX dla swoich wpisów bibliograficznych, zazwyczaj musisz trzymać się określonej kolejności kompilowania. Oznacza to, że pierwszy wywoływany jest LATEX później BibTEX, a później dwukrotnie LATEX. Na szczęście Kile jest na tyle dopracowany, że potrafi samoczynnie wykryć konieczność wywołania dodatkowych narzędzi takich jak BibTEX, makeidx oraz Asymptote. Takie postępowanie jest włączone domyślnie i można je zmienić w Ustawienia → Ustawienia Kile... → Narzędzia+Budowanie na karcie Ogólne w narzędziach LATEX oraz PDFLATEX.

### MetaPost oraz Asymptote

Aby skompilować dokument programami do rysunków MetaPost lub Asymptote, wybierz z menu Budowanie → Kompilacja → Metapost lub Budowanie → Kompilacja → Asymptote.

### PDFLATEX

Istnieje także inny sposób na skompilowanie dokumentu, aby otrzymać plik PDF: poprzez Alt+6 można uruchomić PDFLATEX, który skompiluje kod źródłowy bezpośrednio do pliku PDF: można obejrzeć skompilowany plik poprzez naciśnięcie Alt+7.

Alternatywnie, można przekształcić plik PS na PDF poprzez Alt+8 lub DVI bezpośrednio na plik PDF poprzez Alt+9.

Używanie PDFLATEX zamiast LATEX może czasami być kwestią prostoty lub przyzwyczajenia, lecz czasami zachowanie tych dwóch programów może być różne.

### LATEX dla sieci

Ostatecznie, możesz chcieć opublikować swoją pracę w sieci, a nie tylko na papierze. Możesz do tego użyć programu latex2html, który można wywołać z menu Kile Budowanie → Przekształcanie → LaTeX dla sieci. Wynik zostanie umieszczony w podkatalogu katalogu roboczego, a obejrzeć go będzie można po wybraniu elementu menu Budowanie → Widok → Obejrzyj HTML.

### Podawanie parametrów wiersza poleceń

Aby podać szczególne parametry wiersza poleceń dla narzędzi kompilowania, przekształcania lub przeglądania, to istnieje możliwość ustawienia ich domyślnych wywołań w Ustawienia → Ustawienia Kile... → Narzędzia+Budowanie.

Szybki podgląd
Szybki podgląd

## Szybki podgląd

Przy pracy z LATEX zawsze będzie potrzeba trochę czasu na obejrzenie wyników. LATEX musi skompilować kod źródłowy, a następnie należy uruchomić przeglądarkę. Może się to okazać uciążliwe jeśli zmieniono tylko kilka liter w trudnym do zapisania równaniu. Kile posiada tryb Szybki Podgląd, w którym można skompilować tylko część dokumentu i zaoszczędzić wiele czasu. SzybkiPodgląd obsługuje cztery różne tryby, które można połączyć z siedmioma różnymi ustawieniami.

Wszystkie ustawienia należy określić w Ustawienia → Ustawienia Kile... → Narzędzia+Podgląd.

### Tryb zaznaczania

Użytkownik musi zaznaczyć część dokumentu. Po wybraniu z menu Budowanie → SzybkiPodgląd → Zaznaczenie lub naciśnięciu kombinacji klawiszy Ctrl+Alt+P,S zostaną uruchomione wybrane programy. Kile pobierze preambułę z pierwotnego tekstu, tak że zostaną dołączone wszystkie pakiety i polecenia dane przez użytkownika. Użytkownik może wybrać spośród ośmiu nastaw:

- LaTeX+DVI (osadzona przeglądarka)

- LaTeX+DVI (Okular)

- LaTeX+PS (osadzona przeglądarka)

- LaTeX+PS (Okular)

- PDFLaTeX+PDF (osadzona przeglądarka)

- PDFLaTeX+PDF (Okular)

- XeLaTeX+PDF (osadzona przeglądarka)

- XeLaTeX+PDF (Okular)

To powinno rozwiązać wszystkie przypadki, w których potrzebny jest szybki podgląd.

### Tryb otoczenia

Często zachodzi potrzeba podejrzenia bieżącego dokumentu, a szczególnie gdy występują w nim otoczenia matematyczne, które czasami trudno zapisać. Kile zapewnia sposób bardzo szybkiego podglądu. Nie jest wymagane zaznaczenie, po prostu wybierz z menu Budowanie → SzybkiPodgląd → Otoczenie lub naciśnij kombinację klawiszy Ctrl+Alt+P,E, a bieżące otoczenie zostanie skompilowane i wyświetlone.

### Tryb poddokumentu

Kompilowanie dużego projektu z wieloma dokumentami, po zmianie tylko jednego dokumentu w nim, nie jest najlepszym pomysłem. Kile ma możliwość skompilowania i pokazania podglądu bieżącego poddokumentu. Pobiera preambułę z głównego dokumentu i kompiluje tylko bieżącą część po wybraniu z menu Budowanie → SzybkiPodgląd → Poddokument lub naciśnięciu kombinacji klawiszy Ctrl+Alt+P,D.

### Tryb grupy matematycznej

Tryb podglądu grupy matematycznej umożliwia podgląd edytowanej grupy matematycznej. Kile pobiera preambułę z nadrzędnego dokumentu i kompiluje tylko grupę matematyczną, w której przebywa kursor w chwili wybrania z menu Budowanie → SzybkiPodgląd → Grupa matematyczna lub naciśnięcia kombinacji klawiszy Ctrl+Alt+P,M.

### Szybki podgląd na dolnym pasku

Zamiast pokazywania podglądu w nowym dokumencie, Kile może używać także dolnego paska do podglądu kompilacji. Można włączyć tę możliwość w panelu ustawień szybkiego podglądu.

Formaty plików graficznych
Formaty plików graficznych

## Formaty plików graficznych

### LATEX oraz PDFLATEX

PDFLATEX, używany z pakietami `graphics` lub `graphicx`, może poprawnie skompilować pliki PNG oraz JPG wraz z DVI lub PDF, lecz nie obsługuje plików EPS. Odwrotnie, kompilowanie przy użyciu LATEX do DVI i przekształcanie na PS lub ewentualnie PDF potrafi skompilować EPS, lecz nie obsługuje PNG oraz JPG.

Wielu użytkowników chce tworzyć dokumenty PDF, lecz także chce używać wspaniałego pakietu Pstricks do tworzenia grafiki PostScript® lub chce używać plików wynikowych PostScript® z oprogramowania matematycznego lub naukowego takiego jak Mathematica, Maple lub MuPAD. Ci użytkownicy LATEX muszą najpierw skompilować dokument do PostScript®, nawet wtedy gdy chcą uzyskać dokument PDF, ponieważ programy te tworzą kod PostScript®, którego nie-PDFLATEX nie może obsłużyć. Nie jest to jednak takie trudne jak się wydaje, bo Kile ma sposoby na pomoc.

### Przekształcanie grafiki

Przy dołączaniu zarówno kodu PostScript® jaki i plików PNG czy JPG można obejść frustrującą pętlę na kilka możliwych sposobów:

- Jeśli potrzebny jest plik w formacie PS, lecz dostępna jest tylko grafika JPG lub PNG, można użyć po prostu PDFLATEX z DVI jako pierwszym plikiem wyjściowym, a następnie wykonać polecenie dvips do utworzenia pliku PS. Widać tutaj, że PDFLATEX jest dobrym wyborem, jeśli kod źródłowy nie zawiera w ogóle kodu PostScript®.

- Można przekształcać pliki EPS na PNG lub inne formaty przy użyciu narzędzi takich jak Gimp lub ImageMagick i użycie PDFLATEX.

- Polecanym sposobem jest przekształcenie grafiki EPS na grafikę PDF poprzez wykonanie polecenia epstopdf, które jest dostępne w każdej dystrybucji TEX, a następenie użycie PDFLATEX. Tworzy to grafikę o wysokiej jakości, a nawet umożliwia sterowanie wynikiem przy pomocy następujących opcji:

      -dAutoFilterColorImages=false
              -dAutoFilterGrayImages=false
              -sColorImageFilter=FlateEncode
              -sGrayImageFilter=FlateEncode
              -dPDFSETTINGS=/prepress
              -dUseFlateCompression=true

  Nawet lepiej: jeśli twój system zezwala na `ucieczkę-z-powłoki`, to przekształcenie można wykonać w locie. Wszystko czego potrzebujesz to dołączenie pakietu epstopdf, który jest częścią wszystkich dystrybucji TEX poprzez polecenie `\usepackage{epstopdf}`. Zakładając, że twój kod to:

              \includegraphics[width=5cm]{test.eps}

  Po wywołaniu PDFLATEX z opcją `--shell-escape`, grafika `test.eps` zostanie samoczynnie przekształcona na `test.pdf`.

  Przekształcenie to będzie wykonywane przy każdym uruchomieniu PDFLATEX. Jeśli twoje polecenie graficzne zostanie wydane niejednoznacznie:

              \includegraphics[width=5cm]{test}

  , to epstopdf sprawdzi czy `test.pdf` jest już dostępne, aby moc pominąć krok przekształcania.

- Można także przekształcać w drugą stronę i użyć przekształcenia LATEX oraz PS-PDF. Nie zawsze jest to dobry pomysł, ponieważ enkapsulacja EPS plików JPG oraz PNG może tworzyć pliki o dużych rozmiarach, które w wyniku tworzą niepotrzebnie duże dokumenty. Jest to wysoce zależne od narzędzia graficznego, którego używasz, bo EPS może enkapsulować inną grafikę, lecz nie każdy program może to poprawnie obsłużyć. Niektóre z nich mogą próbować tworzyć obraz JPG z wektorów i rozmaitych skryptów, co w wyniku tworzy gigantyczne pliki. Przekształcanie wszystkich formatów grafiki do EPS można wykonać poprzez ImageMagick. Innym prostym programem, który także wypełnia zadanie poprawnie jest jpg2ps.

- Można także korzystać z samoczynnego przekształcenia. Wszystkie pliki graficzne zostaną przekształcone w locie do EPS i wstawione do dokumentu PS. Jest to wygodny sposób, lecz należy do tego właściwie ustawić system. Temat ten został omówiony w dziale Grafika EPS.

### Używaj właściwego pliku do właściwej grafiki

- EPS jest rodzajem języka skryptowego wektorów graficznych, zawierający opis wszystkich linii i kropek, z których złożona jest grafika; wygląda dobrze nawet przy powiększeniu znacznie większym od domyślnego rozmiaru, najlepiej pasuje do wykresów i grafiki natywnie utworzonych w EPS, które wyglądają przez to czysto i ostro przy zachowaniu niewielkiego rozmiaru pliku.

- PNG (lub przestarzały GIF) jest bezstratnym formatem pliku o dobrym wskaźniku spakowania i jakości. Jest bardzo dobrym do wykresów, skanów, rysunków czy czegokolwiek, gdzie ma być zachowana ostrość. Przesadą jest stosować go do zdjęć.

- JPG jest stratnym formatem, który pakuje pliki lepiej niż PNG kosztem utraty szczegółów obrazu. Zawzwyczaj nie ma to znaczenia w przypadku zdjęć, lecz może pogorszyć jakość wykresów, rysunków i może spowodować zanikanie cienkich linii; do takich przypadków najlepiej użyć EPS lub PNG.

Zawsze miej to na uwadze: śmieci wchodzą, śmieci wychodzą! Żadne przekształcenie nie przekształci złego zdjęcia w dobre.

Grafika EPS
Grafika EPS

## Grafika EPS

Pliki graficzne EPS są tradycyjnym sposobem na wstawianie plików graficznych w dokumentach LATEX. Ponieważ listy dyskusyjne są pełne pytań dotyczących grafik EPS, omówimy niektóre z ważnych aspektów i przedstawimy jak są one obsługiwane w Kile.

### Grafika LATEX oraz EPS

W przypadku używania tradycyjnego LATEX do tworzenia wynikowych plików PS czy PDF, bardzo prawdopodobnym jest napotkanie problemów z grafiką. Musisz używać grafiki EPS (Encapsulated PostScript®), a nie plików JPEG czy PNG. Nie powinien być to problem, ponieważ istnieje wiele programów przekształcających takich jak convert ze wspaniałego pakietu ImageMagick. Przekształcanie wymaga jednak poświęcenia czasu.

Pliki EPS są używane zarówno przez program do przekształcania na LATEX jaki i na DVI-PS:

- LATEX przegląda plik EPS w poszukiwaniu wiersza z informacjami o polu ograniczającym, który mówi LATEX jak wiele przestrzeni wydzielić dla grafiki.

- Następnie program przekształcający na DVI-PS odczytuje plik EPS i wstawia grafikę do pliku PS.

Ma to swoje implikacje:

- LATEX nigdy nie czyta pliku EPS w przypadku gdy w poleceniu wstawieniu grafiki podano parametry pola ograniczającego.

- Ponieważ LATEX nie odczytuje plików nie-ASCII, nie może odczytać informacji o polu ograniczającym ze spakowanych graficznych plików lub nie EPS.

- Grafika EPS nie jest dołączana do pliku DVI. Z tego powodu pliki EPS muszą być obecne w przypadku przekształcania pliku DVI na PS, pliki EPS muszą towarzyszyć plikom DVI, w przypadku ich przenoszenia.

Teraz można wywołać program przekształcający na LATEX oraz DVI-PS poprzez dvips, aby utworzyć dokument PostScript®. Jeśli twoim celem jest dokument PDF, to musisz wykonać polecenie dvips z opcją `-Ppdf`, a następnie wywołać ps2pdf. Można znaleźć wiele dokumentów opisujących to rozwiązanie.

### Sposób Kile na PostScript®

Kile pomaga uzyskać informacje o polu ograniczającym. Jeśli wgrano pakiet ImageMagick, to Kile będzie wydobywać te informacje z plików EPS i wstawiać je jako opcje. Będzie się to działo samoczynnie przy wyborze pliku graficznego. Istnieją dwie zalety takiego podejścia:

- Poszukiwanie tych informacji odbywa się w tym oknie dialogowym i nie muszą być później znajdywanie przez LATEX

- Nawet bardziej ważnym jest to, że szerokość i wysokość obrazu można obliczyć, gdy znana jest jego rozdzielczość. Taka informacja będzie pokazywana na górze okna dialogowego i może posłużyć jako wskazówka przy zmianie rozmiaru grafiki.

- Kile obsługuje także pliki EPS spakowane programem zip lub gzip, które są znacznie mniejsze od niespakowanych plików EPS. Tej funkcji można jednak używać tylko wraz ze specjalnymi ustawieniami systemu i przy zmienionych ustawieniach dotyczących lokalnej grafiki. Zostało to opisane w dziale Grafika bitmapowa.

### Droga PostScript® i grafiki bitmapowej

Jeśli twój system umożliwia `ucieczkę-z-powłoki`, to Kile ma łatwy sposób na dołączanie grafiki bitmapowej, przy właściwym ustawieniu twojego systemu TEX. Nie ma potrzeby przekształcania grafiki JPEG czy PNG, może się to dokonać samoczynnie przy przekształcaniu pliku DVI na PS.

LATEX potrzebuje pewnych informacji o przyrostkach plików. Pakiet `graphicx` szuka pliku `graphics.cfg`, który musi się znajdować gdzieś w twojej ścieżce wyszukiwania dla dokumentów LATEX. Szukaj wpisów takich jak:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{}%

i zastąp te wiersze:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       % changed or new graphic rules
       \DeclareGraphicsRule{.eps.zip}{eps}{.eps.bb}{`unzip -p #1}%   spakowany EPS programem zip
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}%   spakowany EPS programem gzip
       \DeclareGraphicsRule{.jpg}{eps}{}{`convert #1 eps:-}%         JPEG
       \DeclareGraphicsRule{.gif}{eps}{.bb}{`convert #1 eps:-}%      GIF
       \DeclareGraphicsRule{.png}{eps}{.bb}{`convert #1 eps:-}%      PNG
       \DeclareGraphicsRule{.tif}{eps}{.bb}{`convert #1 eps:-}%      TIFF
       \DeclareGraphicsRule{.pdf}{eps}{.bb}{`convert #1 eps:-}%      grafika PDF

Plik ten można znaleźć np. w Debianie w `/etc/texmf/latex/graphics.cfg`. Najlepszym wyjściem jest skopiowaniem tego pliku do swojej lokalnej ścieżki texpath, a następnie dokonanie zmian w tej kopii. Zajrzyj do podręcznika swojej dystrybucji TEX, aby uzyskać wykaz swoich katalogów TEX.

Dzięki temu plikowi ustawień, w LATEX można wstawiać grafikę bitmapową oraz pliki EPS spakowane programem zip i gzip. Nazwa programu do przekształcania to dvips. Po przeczytaniu polecenia przekształcania zauważysz, że nie jest tworzony żaden dodatkowy plik. Przekształcenie odbywa się bezpośrednio do pliku PS. Jedynym szczegółem, o którym LATEX musi wiedzieć jest rozmiar grafiki i przez to potrzebne jest pole ograniczające, które podawane jest przez Kile.

Niektórzy mówią, że ten sposób nie zapewnia bezpieczeństwa; należy zdać się na własne doświadczenie. W dowolnym przypadku, nie potrzebujesz pola ograniczającego, jako iż Kile wydobędzie tę informację ze wszystkich rodzajów grafiki.

### Grafika PDFLATEX oraz EPS

Jak już wcześniej wspomniano, PDFLATEX nie jest w stanie obsługiwać plików graficznych EPS, co innego programy przekształcające takie jak epstopdf. Najlepszym sposobem jest dołączenie pakietu `epstopdf`, który należy umieścić za pakietem `graphicx`.

    \usepackage[pdftex]{graphicx}
       \usepackage{epstopdf}

Teraz możesz już dołączać grafikę EPS, jeśli uruchomisz pdflatex z opcją `--shell-escape`, lecz działanie to możemy uczynić jeszcze lepszym i dodać także obsługę plików EPS spakowanych zip lub gzip. Tak jak poprzednio polega to na zmianie pliku ustawień`graphics.cfg`. Tym razem należy znaleźć:

    % pdfTeX jest uruchomiony w trybie pdf
       \ExecuteOptions{pdftex}%

i dodaniu kilku wierszy:

    % pdfTeX został uruchomiony w trybie pdf
       \ExecuteOptions{pdftex}%
       \AtEndOfPackage{%
          \g@addto@macro\Gin@extensions{.eps.gz,.eps.zip}%
          \@namedef{Gin@rule@.eps.gz}#1{{pdf}{.pdf}{`gunzip -c #1 | epstopdf -f
    >\Gin@base.pdf}}%
          \@namedef{Gin@rule@.eps.zip}#1{{pdf}{.pdf}{`unzip -p #1 | epstopdf -f
    >\Gin@base.pdf}}%
       }%

Dzięki tym wierszom, PDFLATEX będzie w stanie obsługiwać pliki EPS, a obsługa grafiki nie powinna już przysparzać kłopotu.

Dokument nadrzędny
Dokument nadrzędny

## Dokument nadrzędny

Określenie dokumentu jako nadrzędny umożliwia pracę z osobnymi plikami, co w wyniku daje dokument nadrzędny i dokumenty podrzędne, które składają się na całkowitą pracę. Po określeniu nadrzędnego dokumentu poprzez odpowiednie polecenie w menu Ustawienia, wszystkie polecenia z menu Narzędzia będzie można stosować tylko do tego dokumentu, nawet przy pracy z dokumentami podrzędnymi. Można nawet zamknąć dokument nadrzędny.

Obsługa błędów
Obsługa błędów

## Obsługa błędów

Po skompilowaniu czegokolwiek, Kile poszukuje wiadomości błędów. Jeśli występują jakieś błędy lub ostrzeżenia, to zostanie o tym krótko napomknięte w oknie Dziennik i wiadomości. Wiadomościom można się przyjrzeć bliżej poprzez wybranie Budowanie → Obejrzyj plik dziennik lub poprzez użycie skrótu klawiszowego Alt+0. Utworzony dziennik zostanie wtedy wyświetlony w widoku Dziennik i wiadomości; błędy i ostrzeżenia zostaną podświetlone.

Przeglądanie dziennika

Można łatwo przechodzić od jednej wiadomości w pliku dziennika do następnej poprzez użycie menu Budowanie → Następny/Poprzedni błąd LaTeX/Ostrzeżenie lub poprze użycie odpowiednich przycisków paska narzędzi.

Aby przejść do wiersza w kodzie źródłowym LATEX, w którym zgłoszono błąd lub ostrzeżenie, naciśnij na błąd lub ostrzeżenie w widoku Dziennik i wiadomości. Kile samo przejdzie do wiersza sprawiającego kłopot.

Tryb obserwowania pliku
Tryb obserwowania pliku

## Tryb obserwowania pliku

Po wykonaniu polecenia SzybkiegoBudowania i skompilowaniu dokumentu zazwyczaj uruchamia się jakaś przeglądarka. Jeśli nie używasz osadzonej przeglądarki, to za każdym razem zostanie otwarte nowe okno.

Przy dostosowywaniu wyglądu dokumentu, często wykorzystuje się SzybkieBudowanie i ma się otwarte wiele okien przeglądarki na pulpicie; aby uniknąć pomieszania, można włączyć tryb Obserwuj plik, który będzie zapobiegał uruchamianiu przeglądarki po wykonaniu SzybkiegoBudowania.

Tryb ten jest oczywiście bezużyteczny w przypadku osadzonych przeglądarek, jako iż i tak trzeba je zamknąć, aby powrócić do edytowania dokumentu i ponownego kompilowania.

Rozdział 11. Poruszanie się po źródle LATEX
Poruszanie się po źródle LATEX

# Rozdział 11. Poruszanie się po źródle LATEX

## Używanie widoku struktury

Widok Struktury pokazuje hierarchię tworzonego w Kile dokumentu i umożliwia szybkie poruszanie się po nim, pokazując jego podział. Aby przechodzić po dokumencie, wystarczy nacisnąć lewym przyciskiem myszy na dowolną etykietę, rozdział, punkt, podpunkt, itp., a Kile przejdzie do odpowiadającego im miejsca.

Po dołączeniu osobnego pliku LATEX w źródle przy użyciu znaczników `\input` lub `\include`, odniesienie do tych plików znajdzie się w widoku Struktury; dwukrotne naciśnięcie lewym przyciskiem myszy na ich nazwach przywoła te pliki w oknie edytora.

Drzewo hierarchii ma także osobną gałąź dla etykiet używanych w tekście.

### Używanie menu podręcznego

Większość z wpisów w widoku struktury ma wiele wpisów w menu podręcznym, które można otworzyć poprzez naciśnięcie prawym przyciskiem myszy. Spójrz teraz na widok struktury na następującym obrazie.

Znajdziesz na nim kilka etykiet, wpisy dzielące, dwa otoczenia rysunków i trzy obrazy. Po naciśnięciu prawym przyciskiem myszy na jednym z wpisów dzielących, pojawi się menu z użytecznymi poleceniami, Wszystkie polecenia, takie jak Zaznacz, Usuń lub Skomentuj zadziałają ze wszystkimi wierszami, do których należy ten dział.

Naciśnięcie na rysunku lub tabeli umożliwia wykonanie pewnych działań związanych z odsyłaczami, a naciśnięcie prawym przyciskiem myszy na grafice umożliwia jej otwarcie w programie do oglądania grafiki.

### Uaktualnianie widoku struktury

Aby uaktualnić widok struktury, można albo przejść do Edycja → Odśwież strukturę, albo nacisnąć klawisz F12, albo zapisać dokument, co sprawi, że Kile uaktualni widok jego Struktury.

Zakładki
Zakładki

## Zakładki

Zakładki są odsyłaczami do odcinków tekstu lub wiersza wewnątrz otoczenia Kile. Aby użyć zakładki, zaznacz dany wiersz w dokumencie, dla którego ma zachodzić możliwość powrotu, następnie naciśnij Ctrl+B, a Kile doda zakładkę do tego wiersza. Alternatywnie, można ustawić zakładkę poprzez podświetlenie wiersza i wybranie z menu Zakładki → Ustaw zakładkę.

Aby usunąć wszystkie zakładki, wybierz Zakładki → Wyczyść wszystkie zakładki.

Rozdział 12. Projekty
Projekty

# Rozdział 12. Projekty

## Praca z projektami

W Kile można tworzyć i pracować z projektami. Projekt jest zgrupowaniem plików LATEX, grafiki, BibTEX i innych, które zawierają wszystkie informacje używane do zbudowania całkowitego dokumentu. Swoisty projekt jest dokumentem składającym się z kilku rozdziałów, napisanych w różnych plikach `.tex`; wszystkie z nich można dołączyć do projektu, aby ułatwić zarządzanie dokumentem. Dane szczegółowe projektu przechowywane są w osobnym pliku o rozszerzeniu `.kilepr`.

Projekt zapewnia następujące ułatwienia:

- Nie musisz ustawiać głównego dokumentu, Kile zrobi to za ciebie.

- Pliki projektu można łatwo zarchiwizować poprzez Projekt → Archiwizuj

- Widok Pliki i projekty zawiera pliki zawarte w projekcie.

- Po otwarciu projektu, każdy plik, który wcześniej otwarto zostanie przywrócony wraz z pierwotnym kodowaniem i podświetleniem.

- Uzupełnianie kodu działa względem wszystkich plików projektu.

- Uzupełnianie odsyłaczy działa względem wszystkich plików projektu.

- Uzupełnianie cytatów działa względem wszystkich plików projektu.

- Wyszukiwanie we wszystkich plikach projektu.

- Podawanie własnych poleceń SzybkiegoBudowania oraz makeidx.

Polecenia dotyczące projektu można znaleźć w menu Projekt. Stamtąd można otwierać, zamykać i zarządzać projektami.

Tworzenie projektu
Tworzenie projektu

## Tworzenie projektu

Aby utworzyć nowy projekt, wybierz Projekt → Nowy projekt....

Do utworzenia projektu należy udzielić następujących informacji:

- Tytuł twojego projektu (pole tekstowe Tytuł projektu).

  Tytuł projektu zostanie użyty do utworzenia nazwy pliku projektu poprzez jego przekształcenie na małe litery i dodanie rozszerzenia `.kilepr`.

- Katalog, w którym będzie przechowywany projekt (pole tekstowe Katalog projektu).

- Aby utworzyć nowy główny plik projektu, wybierz Utwórz nowy plik i dodaj go do tego projektu.

- Przy wypełnianiu pola Nazwa pliku musisz dołączyć ścieżkę, względem tworzonego pliku, w której przechowywany jest plik `.kilepr` (spójrz na pole Katalog projektu).

- Rodzaj tworzonego pliku, Pusty plik, Artykuł, Książka, List, Sprawozdanie, itp. można wybrać z graficznego wykazu na dole panelu Plik.

- Rozszerzenia dla domyślnych plików w projekcie można wybrać poprzez użycie panelu Rozszerzenia. Twój wybór będzie używany do określenia plików, które mają być otwierane przy wyborze elementu menu Projekt → Otwórz wszystkie pliki projektu i w pomocnikach Kile. Rozszerzenia w polu tekstowym powinny być oddzielone pojedynczymi odstępami.

Widok plików i projektów
Widok plików i projektów

## Widok plików i projektów

Widok Pliki i projekty jest przyciskiem menu paska bocznego, Na tym widoku, można obejrzeć strukturę projektu, jego pliki i nazwę pliku `.kilepr`, który przechowuje szczegóły o projekcie. Dodawanie, usuwanie lub zmiana opcji w twoim projekcie odbywa się poprzez widok Pliki i projekty.

Widok plików i projektów

Dodawania i usuwanie plików
Dodawania i usuwanie plików

## Dodawania i usuwanie plików

Aby dodać plik do twojego projektu, otwórz dowolny plik TEX, naciśnij prawym przyciskiem myszy na jego nazwę w widoku Pliki i projekty i wybierz Dodaj do projektu. Jeśli otwarto wiele projektów, pokaże się okno dialogowe, w którym będzie można wybrać, do którego projektu plik ma zostać dodany.

Można także nacisnąć prawym przyciskiem myszy na nazwę projektu w widoku Pliki i projekty i wybrać Dodaj pliki..., aby przywołać okno dialogowe wyboru pliku.

Dodawanie pliku do projektu

Aby usunąć pliki z projektu, naciśnij prawym przyciskiem myszy na niego i wybierz Usuń plik. Nie usuwa to twojego pliku (a także go nie zamyka), lecz usuwa z wykazu plików zawartych w rozszerzeniu `.kilepr`.

### Archiwizowanie projektu

Kile umożliwia łatwe tworzenie kopii zapasowych projektu poprzez przechowywanie wszystkich jego plików w pojedynczym archiwum (powszechnie zwanym tarball). Aby zarchiwizować projekt, naciśnij prawym przyciskiem myszy na jego nazwę w widoku Pliki i projekty lub wybierz Projekt → Archiwizuj.

Domyślnie, wszystkie pliki projektu są dodawane do archiwum. Jeśli archiwum ma nie zawierać pewnego pliku, naciśnij prawym przyciskiem myszy na nim w widoku Pliki i projekty i odznacz opcję Dołącz do archiwum.

Archiwizowanie obecnie odbywa się poprzez wywoływanie polecenia tar w katalogu projektu (tam gdzie mieści się plik `.kilepr`).

Opcje projektu
Opcje projektu

## Opcje projektu

Kile zawiera kilka opcji związanych z projektem, które można ustawić. Aby je zmienić, naciśnij prawym przyciskiem myszy na tytule projektu i wybierz Opcje projektu, a ukażą się możliwości zmian:

- Tytuł projektu.

- Domyślne rozszerzenia plików.

- Główny dokument.

- Polecenie SzybkiegoBudowania

- Opcje makeidx.

Zamykanie projektu
Zamykanie projektu

## Zamykanie projektu

Aby zamknąć projekt, wybierz widok Pliki i projekty z pionowego paska narzędzi, naciśnij prawym przyciskiem myszy na tytuł swojego projektu i wybierz Zamknij. Zamknie to twoje projekty, wszystkie skojarzone z nimi pliki, a także doda nazwę tego projektu do Otwórz ostatni projekt... z menu Projekt.

Rozdział 13. Kodowanie dokumentu
Kodowanie dokumentu

# Rozdział 13. Kodowanie dokumentu

Edytor Kile umożliwia czytanie, przekształcanie i zapisywanie tekstu przy użyciu kodowania znaków, którego twój dokument potrzebuje. Dzięki temu możliwe jest, na przykład, używanie bezpośrednio w LATEX znaków z akcentem, takich jakie są powszechnie używane we włoskim lub francuskim. Wyboru kodowania dla dokumentu można dokonać na dwa sposoby:

- Jednym ze sposobów na ustawienie kodowanie dokumentu jest użycie podmenu Ustawienia → Ustawienia Kile... → Edytor, gdzie można ustawić domyślne kodowanie znaków dla wszystkich plików.

- Drugim sposobem na ustawienie kodowania da dokumentu jest wybranie żądanego kodowania w pomocniku do tworzenia nowego dokumentu.

Sam LATEX rozumie tylko ASCII, który składa się z bardzo ograniczonego zestawu znaków. Z tego powodu, nie możliwym jest bezpośrednie używanie znaków akcentowanych. Aby jednak ich używać, wymyślono specjalną składnię: jak na przykład `\"e` dla `ë`. Pakiet inputenc został stworzony, aby w tym pomagać. Można go dołączać w preambule przy użyciu `\usepackage[latin1]{inputenc}`, gdzie opcjonalny argument określa używane kodowanie (obecnie w większości przypadków `utf8`). Mówi to LATEX, aby przetłumaczył wszystkie `ë`, które wpisałeś na `\"e` przed kompilowaniem. Zajrzyj bezpośrednio do dokumentacji inputenc po szczegóły. Ostatnie lecz nie mniej ważne: pamiętaj, aby twój plik był zapisany dokładnie w tym samym kodowaniu, które określono dla pakietu inputenc!

Ta różnorodność tabel kodowania znaków przysporzyła wiele kłopotu: na przykład, nie można zapisać czegoś po turecku we francuskim bez tracenia znaków diakrytycznych języka. Istnieje powszechna zgoda, że prędzej czy później, każdy przejdzie na Unikod. Istnieje wiele implementacji Unikodu, a najbardziej udaną w Linuksie jest UTF-8; Windows®(R) polega na bardziej nieporęcznym i mniej elastycznym UCS-2. Większość dystrybucji już ustawia swoje domyślne kodowanie na UTF-8, a przez to sensownym wydaje się używanie argumentu `utf8` dla pakietu `inputenc`.

## Pakiet ucs

Jeśli nie masz wgranego pakietu ucs, to postępuj następująco:

- Pobierz pakiet ucs z CTAN.

- Aby go wgrać, wypakuj pobrany pliki i umieść go w katalogu wyszczególnionym w twojej zmiennej środowiskowej $`TEXINPUTS`. Można to także ustawić wewnątrz Kile.

    \usepackage{ucs}
    \usepackage[utf8]{inputenc}

XeLaTeX
XeLaTeX

## XeLaTeX

Jeśli używasz `XeLaTeX`, to możesz po prostu wczytać pakiet `xltxtra`. Dodatkowo wczyta on wszystkie wymagane pakiety.

    \usepackage{xltxtra}

Obsługa CJK
Obsługa CJK

## Obsługa CJK

Dodanie obsługi dla ideograficznych języków jest całkiem kłopotliwe. Jednakże po uporaniu się z tym, twoja praca pójdzie całkiem dobrze. Poza wgrywaniem pakietów, należy dokonać dodatkowych ustawień.

### Podpowiedź

Twoja dystrybucja Linux® może już mieć gotowy pakiet CJK (Chiński, Japoński, Koreański), więc możliwe że zaoszczędzisz sobie trudu wgrywania wszystkiego własnoręcznie. Sprawdź to przed dalszym czytaniem!

Istnieje możliwość używania pakietu ucs do pisania krótkich wstawek tekstu CJK, lecz opcja ta jest poważnie ograniczona, gdyż nie obsługuje, pośród innych rzeczy, znaków nowych linii. Zamiast tego, wgramy całkowity pakiet CJK-LATEX i sprawimy, że będzie działał zarówno z LATEX jak i PDFLATEX. Wiele z tego materiału zostało zainspirowane stroną Pai H. Chou o tym jak ustawić PDFLATEX.

1. Pobierz pakiet CJK. Skopiuj jego rozpakowane pliki do odpowiedniego podkatalogu $`TEXMF`, tak samo jak wcześniejszy pakiet ucs (zajrzyj do Pakiet ucs). Pliki zostaną rozpakowane do katalogu `CJK/X_Y.Z`; nie jest ważne to, żeby zostały wypakowane, lecz na pewno ułatwi ci to ich obsługę.

2. Teraz musisz pobrać czcionkę, która obsługuje wszystkie znaki CJK, których potrzebujesz. Można wybrać dowolny plik `*.ttf`, który zawiera je wszystkie, lecz w tym poradniku użyjemy Cyberbit. Rozpakuj plik i zmień nazwę `Cyberbit.ttf` na `cyberbit.ttf`, gdyż wielka litera może zmylić twój system.

   Umieść `cyberbit.ttf` w katalogu razem z `Unicode.sfd` i utwórz plik `*.tfm` oraz `*.enc` przy użyciu polecenia `$ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@`. Czasami polecenie to, z pewnych nieznanych powodów, nie tworzy setek plików, tak jak powinno. Jeśli tak się stało w twoim przypadku, pobierz oba pliki `*.tfm` oraz `*.enc`.

   Umieść pliki `*.tfm` w odpowiednik katalogu, na przykład `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`; pliki `*.enc` można wgrać do `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Teraz musimy zmapować plik, tak aby połączyć pliki `*.enc` do czcionki. Pobierz `cyberbit.map` i wgraj go w `$`TEXMF`/pdftex/config/`.

4. Pobierz inny pliki `c70cyberbit.fd` i umieść go w odpowiednim katalogu. Można wybrać, na przykład `$`TEXMF`/tex/misc/`.

5. Ostatnim plikiem, który musimy utworzyć, jest czcionka PostScript® Typ 1, niezbędna do czytania plików DVI utworzonych w LATEX. Wykonaj polecenie `$ ttf2pfb cyberbit.ttf -o cyberbit.pfb` i skopiuj jego wyniki `cyberbit.pfb` do następującego katalogu `$`TEXMF`/fonts/type1/cyberbit/`.

6. Umieśćmy teraz `cyberbit.ttf` wśród czcionek, gdzie LATEX będzie mógł ją znaleźć. Można ją umieścić w katalogu o nazwie `$`TEXMF`/fonts/truetype/`.

7. Sprawdź plik ustawień, który znajdziesz w `$`TEXMF`/web2c/texmf.cnf` i upewnij się, że wiersz zawierający `TTFONTS` jest poza komentarzem i wskazuje do katalogu, gdzie zapisano `cyberbit.ttf`.

8. Aby móc korzystać z czcionek CJK przy użyciu PDFLATEX, musisz dodać wiersz w pliku ustawień `$`TEXMF`/pdftex/config/pdftex.cfg`. Dodaj `map +cyberbit.map` w pliku, aby uzupełnić ustawienia dla PDFLATEX.

9. Aby ustawić LATEX tak, aby mógł tworzyć pliki DVI przy użyciu znaków CJK, musisz dodać wiersz w pliku `ttfonts.map`. Plik może znajdować się w katalogu o nazwie `$`TEXMF`/ttf2pk/`, lecz prawdopodobnie będzie trzeba go poszukać. Dołącz do niego wiersz `cyberbit@Unicode@ cyberbit.ttf`.

10. Teraz jedyne co musisz zrobić to uruchomić `texhash` i twój system powinien być gotowy.

Aby sprawdzić czy twoje ustawienia są poprawne, możesz spróbować skompilować ten plik próbny.

### Rozwiązywanie problemów z CJK

Jest wiele rzeczy, które mogą pójść źle przy ręcznym dodawaniu obsługi CJK. Jeśli coś nie działa, to następująca lista sprawdzająca może pomóc.

- Oczywiście, jeśli uruchamiasz LATEX jako użytkownik, a nie administrator, to musisz zezwolić zwykłym użytkownikom na dostęp do nowych plików. Upewnij się, że wszystkie katalogi i pliki są dostępne, a jeśli nie to spraw żeby tak było przy użyciu polecenia chmod.

- Jeśli LATEX zapisuje DVI bez problemów, lecz nie można go obejrzeć, to jest to najprawdopodobniej problem z samoczynnym tworzeniem czcionek `*.pk`. Z założenia mają one być tworzone w locie przy przeglądaniu pliku DVI, lecz może się to nie udać z kilku powodów: najpierw przejrzyj dwukrotnie plik `ttfonts.map` w poszukiwaniu twojego własnego wiersza. Jednakże, może się zdarzyć, że twoje polecenie ttf2pk, które jest zazwyczaj wywoływane przez przeglądarkę DVI, zostało skompilowane bez obsługi bibliotek kpathsea. Jeśli tak jest, to polecenie `ttf2pk `--version`` nie wymieni kpathsea. Jako iż obsługa tych bibliotek jest niezbędna, możesz poszukać nowego pakietu lub samodzielnie skompilować FreeType 1.

### Jak wprowadzać znaki CJK w Unikodzie?

Istnieje kilka różnych silników wprowadzania, a wybór jednego z nich może także zależeć od własnych upodobań. Autor używa Skim, przystosowany dla KDE silnik Scim. Odwołaj się do dokumentacji twojej dystrybucji, aby dowiedzieć się jak można wgrać te programy. Ustawienie samych programów też może przysporzyć trudności, w przypadku Skim będzie trzeba podać zmienną środowiskową ``XMODIFIERS`="@im=SCIM"` przed uruchomieniem X.

Rozdział 14. Scripting
Scripting

# Rozdział 14. Scripting

## Scripting in Kile

Kile's scripting feature allows the execution of ECMAScript code, widely known as JavaScript. You will find a lot of tutorials, which provide information about objects (variables), functions and properties supported by JavaScript.

Scripting support can be enabled in the configuration dialog of Kile: Settings → Configure Kile... → Kile+Scripting.

If scripting is enabled, an additional scripting panel is visible in the sidebar, where scripts can be managed:

This widget contains six icons, which offer different tasks:

- Run the selected script.

- Create a new script.

- Open the selected script in the editor.

- Configure a key sequence for the selected script.

- Remove an assigned key sequence.

- Refresh the list of available scripts, which are all found in `$`KDEDIR`/share/apps/kile/scripts/`.

Executing a Script
Executing a Script

## Executing a Script

You can execute a script in three different ways:

1. Select the desired script and click on the Execute button on the left side of the script management widget.

2. Use a keyboard shortcut.

   You can assign a keyboard shortcut to a script using the Configure button in the script management widget.

3. Use an editor key sequence. The script will be executed, if you type the assigned key sequence in the editor.

   This method can be extended to a rather sophisticated kind of code completion. Let us assume that you have a written a script, which simply inserts the LATEX command `\textbf{}` into the current document.

       document.insertText("\\textbf{%C}");

   If you now type the assigned key sequence `bfx` in your text document, this key sequence will be removed and the script will be executed. It will insert `\textbf{}` and the cursor is placed between the braces.

   What a comfortable and powerful method of code completion.

API Reference
API Reference

## API Reference

The scripting API presented here is available in all scripts. Before the contents of a script is loaded, Kile first adds several prototypes and functions to the scripting context. This convenience API contains prototypes like text cursors and text ranges and is located in the folder `KILE_APP_DIR/script-plugins/`.

Kile scripts differ slightly from Kate scripts, which use another design, as they also can be started from the command line. But all functions of the Kate scripting API are also available in Kile's scripting API, so porting JavaScript code from Kate to Kile should be very easy. But as Kile is a very rich featured LATEX editor, its own scripting API offers many more possibilities than Kate's one.

Remark: Description of API calls, which are also available in Kate scripting, have been taken from Kate's documentation.

### Global Functions

This section lists global functions.

    void debug(String text);

  Prints `text` to `stdout` in the console. The printed text is colored to distinguish it from other debug output.

### The Cursor Prototype

As Kile is a text editor, all the scripting API is based on cursors and ranges whenever possible. A Cursor is a simple `(line, column)` tuple representing a text position in the document.

    Cursor();

  Constructor: Returns a Cursor at position `(0,0)`.

  Example: `var cursor = new Cursor();`

    Cursor(int line, int column);

  Constructor: Returns a Cursor at position (line,column).

  Example: `var cursor = new Cursor(3,42);`

    Cursor(Cursor other);

  Copy constructor: Returns a copy of the cursor `other`.

  Example: `var copy = new Cursor(other);`

    Cursor Cursor.clone();

  Returns a clone of the cursor.

  Example: `var clone = cursor.clone();`

    bool Cursor.isValid();

  Check whether the cursor is valid. The cursor is invalid if line and/or column are set to `-1`.

  Example: `var valid = cursor.isValid();`

    Cursor Cursor.invalid();

  Returns a new invalid cursor located at `(-1,-1)`.

  Example: `var invalidCursor = cursor.invalid();`

    int Cursor.compareTo(Cursor other);

  Compares this cursor to the cursor `other`. Returns

  - `-1`, if this cursor is located before the cursor `other`,

  - `0`, if both cursors equal and

  - `+1`, if this cursor is located after the cursor `other`.

    bool Cursor.equals(Cursor other);

  Returns `true`, if this cursor and the cursor `other` are equal, otherwise `false`.

    String Cursor.toString();

  Returns the cursor as a string of the form `Cursor(line,column)`.

### The Range Prototype

As Kile is a text editor, all the scripting API is based on cursors and ranges whenever possible. As Cursor is a simple `(line, column)` tuple representing a text position in the document, a Range spans text from a starting cursor position to an ending cursor position.

    Range();

  Constructor: Calling `new Range()` returns a Range at `(0,0) - (0,0)`.

    Range(Cursor start, Cursor end);

  Constructor: Calling `new Range(`start`, `end`)` returns the range from cursor `start` to cursor `end`.

    Range(int startLine, int startColumn, int endLine, int endColumn);

  Constructor: Calling `new Range(`startLine`,`startColumn`,`endLine`, `endColumn`)` returns the Range from (`startLine`, `startColumn`) to (`endLine`, `endColumn`).

    Range(Range other);

  Copy constructor: Returns a copy of Range `other`.

    Range Range.clone();

  Returns a clone of the range.

  Example: `var clone = range.clone();`

    bool Range.isValid();

  Returns `true`, if both start and end cursor are valid, otherwise `false`.

  Example: `var valid = range.isValid();`

    bool Range.invalid();

  Returns the Range from (-1,-1) to (-1,-1).

    bool Range.contains(Cursor cursor);

  Returns `true`, if this range contains the cursor position, otherwise `false`.

    bool Range.contains(Range other);

  Returns `true`, if this range contains the Range `other`, otherwise `false`.

    bool Range.containsColumn(int column);

  Returns `true`, if `column` is in the half open interval `[start.column, end.column]`, otherwise `false`.

    bool Range.containsLine(int line);

  Returns `true`, if `line` is in the half open interval `[start.line, end.line]`, otherwise `false`.

    bool Range.overlaps(Range other);

  Returns `true`, if this range and the range `other` share a common region, otherwise `false`.

    bool Range.overlapsLine(int line);

  Returns `true`, if `line` is in the interval `[start.line, end.line]`, otherwise `false`.

    bool Range.overlapsColumn(int column);

  Returns `true`, if `column` is in the interval `[start.column, end.column]`, otherwise `false`.

    bool Range.equals(Range other);

  Returns `true`, if this range and the Range `other` are equal, otherwise `false`.

    String Range.toString();

  Returns the range as a string of the form `Range(Cursor(line,column) - Cursor(line,column))`.

### The View API

Whenever a script is being executed, there is a global object (variable) `view` representing the current active editor view. All functions of `view` work with cursor positions or selected text. The following is a list of all available `view` functions.

    void view.backspace();

  Programmatically performs the equivalent of pressing the backspace key.

    Cursor view.cursorPosition();

  Returns the current cursor position in the view.

    void view.setCursorPosition(int line, int column);
    void view.setCursorPosition(Cursor cursor);

  Set the current cursor position to either `line`, `column` or to the given `cursor`.

    void view.cursorLeft();

  Moves the cursor one position backward in the text.

    void view.cursorRight();

  Moves the cursor one position forward in the text.

    void view.cursorUp();

  Moves the cursor one line up in the document.

    void view.cursorDown();

  Moves the cursor one line down in the document.

    int view.cursorLine();

  Returns the line which the cursor is currently located at.

    int view.cursorColumn();

  Returns the column which the cursor is currently located at.

    void view.setCursorLine(int line);

  Set the cursor line to the given `line`.

    void view.setCursorColumn(int column);

  Set the cursor column to the given `column`.

    Cursor view.virtualCursorPosition();

  Get the current virtual cursor position. Virtual means the tabulator character (TAB) counts multiple characters, as configured by the user (e.g. one TAB is 8 spaces). The virtual cursor position provides access to the user visible values of the current cursor position.

    bool view.hasSelection();

  Returns `true`, if the view has selected text, otherwise `false`.

    String view.selectedText();

  Returns the selected text. If no text is selected, the returned string is empty.

    Range view.selectionRange();

  Returns the selected text range. The returned range is invalid if there is no selected text.

    void view.setSelection(Range range);

  Set the selected text to the given `range`.

    void view.selectAll();

  Selects the entire text in the document.

    void view.clearSelection();

  Clears the text selection without removing the text.

    void view.removeSelectedText();

  Remove the selected text. If the view does not have any selected text, this does nothing.

    void view.selectLine();

  Selects the text in the current line.

    void view.selectLine(int line);

  Selects the text in the given `line`.

    void view.selectLines(int from, int to);

  Selects the entire text from line `from` to line `to`.

    void view.selectWord();

  Selects the current word. If no word is found at the current cursor position, nothing is done.

    void view.selectLatexCommand();

  Selects the current LATEX command. If no command is found at the current cursor position, nothing is done.

    void view.selectEnvironment(bool inside = false);

  Selects the entire text of the current LATEX environment. If `inside` is `false`, the environment text including the surrounding LATEX tags `\begin{...}...\end{...}` will be selected, else without these tags. If no parameter is given, `inside` is set to `false`.

    void view.selectTexgroup(bool inside = true);

  Selects the text of the current LATEX group. If `inside` is `true`, only the texgroup without the surrounding braces will be selected. If no parameter is given, `inside` is set to `true`.

    void view.selectMathgroup();

  Selects the text of the current math group.

    void view.selectParagraph(bool wholeLines = true);

  Selects the entire text of the current LATEX paragraph. If `wholeLines` is `true`, the first and the last lines of the paragraph will be included in the selection entirely (including the end-of-line character); otherwise, the selection will only contain non-whitespace characters.

### The Document API

Whenever a script is being executed, there is a global object (variable) `document` representing the current active document. The following is a list of all available `document` functions.

    void document.insertText(String text);

  Inserts the `text` at the current cursor position.

    void document.insertText(int line, int column, String text);
    void document.insertText(Cursor cursor, String text);

  Inserts the `text` at the given cursor position.

    bool document.removeText(int fromLine, int fromColumn, int toLine, int toColumn);
    bool document.removeText(Cursor from, Cursor to);
    bool document.removeText(Range range);

  Removes the text in the given range. Returns `true` on success, or `false`, if the document is in read-only mode.

    bool document.replaceText(Range range, String text);

  Replace the text of the given range with the specified text.

    int document.lines();

  Returns the number of lines in the document.

    int document.length();

  Returns the number of characters in the document.

    Range document.documentRange();

  Returns a range which encompasses the whole document.

    Cursor document.documentEnd();

  Returns the current cursor position of the document's end.

    String document.text();

  Returns the entire content of the document in a single text string. Newlines are marked with the newline character `\n`.

    String document.text(int fromLine, int fromColumn, int toLine, int toColumn);
    String document.text(Cursor from, Cursor to);
    String document.text(Range range);

  Returns the text in the given range. It is recommended to use the cursor and range based version for better readability of the source code.

    bool document.setText(String text);

  Sets the entire document text.

    bool document.clear();

  Removes the entire text in the document.

    String document.line();

  Returns the current text line as string.

    String document.line(int line);

  Returns the given text line as string. The string is empty if the requested line is out of range.

    int document.lineLength();

  Returns the length of the current line.

    int document.lineLength(int line);

  Returns the `line`'s length.

    bool document.insertLine(String s);

  Inserts text in the current line. Returns `true` on success, or `false`, if the document is in read-only mode or the line is not in the document range.

    bool document.insertLine(int line, String s);

  Inserts text in the given line. Returns `true` on success, or `false`, if the document is in read-only mode or the line is not in the document range.

    bool document.removeLine();

  Removes the current text line. Returns `true` on success, or `false`, if the document is in read-only mode.

    bool document.removeLine(int line);

  Removes the given text line. Returns `true` on success, or `false`, if the document is in read-only mode or the line is not in the document range.

    bool document.replaceLine(String text);

  Replace the text of the current line with the specified text.

    bool document.replaceLine(int line, String text);

  Replace the text of the given line with the specified text.

    bool document.truncateLine();

  Truncate the current line at the given column or cursor position. Returns `true` on success, or `false` if the given line is not part of the document range.

    bool document.truncate(int line, int column);
    bool document.truncate(Cursor cursor);

  Truncate the given line at the given column or cursor position. Returns `true` on success, or `false` if the given line is not part of the document range.

    String document.word();

  Returns the word at the current cursor position. If no word is found at this cursor position, the returned string is empty.

    String document.wordAt(int line, int column);
    String document.wordAt(Cursor cursor);

  Returns the word at the given cursor position. If no word is found at this cursor position, the returned string is empty.

    Range document.wordRange();

  Returns the range of the word at the given cursor position. If no word is found, `Range.invalid()` is returned, which can be tested with `Range.isValid()`.

    String document.latexCommand();

  Returns the LATEX command at the current cursor position. If no command is found at this cursor position, the returned string is empty.

    String document.latexCommandAt(int line, int column);
    String document.latexCommandAt(Cursor cursor);

  Returns the LATEX command at the given cursor position. If no command is found at this cursor position, the returned string is empty.

    Range document.latexCommandRange();

  Returns the range of the LATEX command at the given cursor position. If no LATEX command is found, `Range.invalid()` is returned, which can be tested with `Range.isValid()`.

    String document.charAt(int line, int column);
    String document.charAt(Cursor cursor);

  Returns the character at the given cursor position.

    String document.firstChar(int line);

  Returns the first character in the given `line` that is not a whitespace. The first character is at column 0. If the line is empty or only contains whitespace characters, the returned string is empty.

    String document.lastChar(int line);

  Returns the last character in the given `line` that is not a whitespace. If the line is empty or only contains whitespace characters, the returned string is empty.

    bool document.isSpace(int line, int column);
    bool document.isSpace(Cursor cursor);

  Returns `true`, if the character at the given cursor position is a whitespace, otherwise `false`.

    void document.insertBullet();

  Insert a Kile bullet. Remember that you can easily jump to the next or previous bullet. This will also highlight this bullet so that it will be deleted automatically, when you enter your first letter.

    void document.nextBullet();

  Jump to the next bullet in the text if there is one.

    void document.previousBullet();

  Jump to the previous bullet in the text if there is one.

    bool document.hasEnvironment();

  Returns `true` if a surrounding LATEX environment is found, else `false`.

    String document.environment(bool inside = false);

  Returns the entire text of the surrounding LATEX environment. If `inside` is `false`, the environment text including the surrounding LATEX tags `\begin{...}...\end{...}` will be returned, else without these tags. If no parameter is given, `inside` is set to `false`. If no environment is found, the returned string is empty.

    Range document.environmentRange(bool inside = false);

  Returns the range of the surrounding LATEX environment. If `inside` is `false`, the range including the surrounding LATEX tags `\begin{...}...\end{...}` will be returned, else without these tags. If no parameter is given, `inside` is set to `false`. If no environment is found, `Range.invalid()` is returned, which can be tested with `Range.isValid()`.

    String document.environmentName();

  Returns the name of the surrounding LATEX environment or an empty string.

    void document.removeEnvironment(bool inside = false);

  Removes the text of the surrounding LATEX environment. If `inside` is `false`, the environment text including the surrounding LATEX tags `\begin{...}...\end{...}` will be removed, else without these tags. If no parameter is given, `inside` is set to `false`.

    void document.closeEnvironment();

  Insert a closing environment tag, if an opened LATEX environment is found at the current cursor position.

    void document.closeAllEnvironments();

  Insert closing environment tags for all opened LATEX environments, which were found at the current cursor position.

    bool document.hasTexgroup();

  Returns `true` if a surrounding LATEX group is found at the current cursor position, else `false`.

    String document.texgroup(bool inside = true);

  Returns the text of the surrounding LATEX group. If `inside` is `false`, the text of this LATEX group including the surrounding braces `{...}` will be returned, else without them. If no parameter is given, `inside` is set to `false`. The returned string is empty, if no surrounding LATEX group is found at the current cursor position.

    Range document.texgroupRange(bool inside = true);

  Returns the range of the surrounding LATEX group. If `inside` is `false`, the range including the surrounding braces `{...}` will be returned, else without them. If no parameter is given, `inside` is set to `false`. If no group is found, `Range.invalid()` is returned, which can be tested with `Range.isValid()`.

    void document.removeTexgroup(bool inside = true);

  Removes the text of the surrounding LATEX group. If `inside` is `false`, the text of this LATEX group including the surrounding braces `{...}` will be removed, else without them. If no parameter is given, `inside` is set to `false`.

    bool document.hasMathgroup();

  Returns `true` if a surrounding LATEX mathgroup is found at the current cursor position, else `false`.

    String document.mathgroup();

  Returns the text of the surrounding LATEX mathgroup. The returned string is empty, if no surrounding LATEX mathgroup is found at the current cursor position.

    Range document.mathgroupRange();

  Returns the range of the surrounding LATEX mathgroup. If there is no surrounding mathgroup, `Range.invalid()` is returned, which can be tested with `Range.isValid()`.

    void document.removeMathgroup();

  Removes the text of the surrounding LATEX mathgroup.

    String document.paragraph();

  Returns the text of the current LATEX paragraph.

    Range document.paragraphRange();

  Returns the range of the surrounding LATEX paragraph.

    void document.removeParagraph();

  Removes the text of the current LATEX paragraph.

    bool document.matchesAt(int line, int column, String text);
    bool document.matchesAt(Cursor cursor, String text);

  Returns `true`, if the given `text` matches at the corresponding cursor position, otherwise `false`.

    bool document.startsWith(int line, String pattern, bool skipWhiteSpaces = true);

  Returns `true`, if the line starts with `pattern`, otherwise `false`. The argument `skipWhiteSpaces` controls whether leading whitespaces are ignored.

    bool document.endsWith(int line, String pattern, bool skipWhiteSpaces = true);

  Returns `true`, if the line ends with `pattern`, otherwise `false`. The argument `skipWhiteSpaces` controls whether trailing whitespaces are ignored.

    int document.firstColumn(int line);

  Returns the first non-whitespace column in the given `line`. If there are only whitespaces in the line, the return value is `-1`.

    int document.lastColumn(int line);

  Returns the last non-whitespace column in the given `line`. If there are only whitespaces in the line, the return value is `-1`.

    int document.prevNonSpaceColumn(int line, int column);
    int document.prevNonSpaceColumn(Cursor cursor);

  Returns the column with a non-whitespace character starting at the given cursor position and searching backwards.

    int document.nextNonSpaceColumn(int line, int column);
    int document.nextNonSpaceColumn(Cursor cursor);

  Returns the column with a non-whitespace character starting at the given cursor position and searching forwards.

    int document.prevNonEmptyLine(int line);

  Returns the next non-empty line containing non-whitespace characters searching backwards.

    int document.nextNonEmptyLine(int line);

  Returns the next non-empty line containing non-whitespace characters searching forwards.

    void document.gotoBeginEnv();

  Go to the start of a surrounding LATEX environment.

    void document.gotoEndEnv();

  Go to the end of a surrounding LATEX environment.

    void document.gotoBeginTexgroup();

  Go to the start of a surrounding LATEX group.

    void document.gotoEndTexgroup();

  Go to the end of a surrounding LATEX group.

    void document.gotoNextParagraph();

  Go to the next LATEX paragraph.

    void document.gotoPrevParagraph();

  Go to the previous LATEX paragraph.

    void document.gotoNextSectioning();

  Go to the next LATEX section.

    void document.gotoPrevSectioning();

  Go to the previous LATEX section.

    void document.gotoLine(int line);

  Go to the given `line`.

    void document.insertChapter();

  Insert a `\chapter` command (see also `document.insertSection()`).

    void document.insertSection();

  Insert a `\section` command. As with choosing the menu entry LaTeX → Sectioning → section a dialog will appear, where you can choose the title and an optional label for this sectioning command.

    void document.insertSubsection();

  Insert a `\subsection` command (see also `document.insertSection()`).

    void document.insertSubsubsection();

  Insert a `\subsubsection` command (see also `document.insertSection()`).

    void document.insertParagraph();

  Insert a `\paragraph` command (see also `document.insertSection()`).

    void document.insertSubparagraph();

  Insert a `\subparagraph` command (see also `document.insertSection()`).

    void document.insertLabel();

  Insert a `\label` command.

    void document.insertReference();

  Insert a `\ref` command. As with choosing the menu entry LATEX → References → ref a dialog will appear, where you can choose from already defined labels, which are listed in a combobox.

    void document.insertPageref();

  Insert a `\pageref` command (see also `document.insertReference()`).

    void document.insertCitation();

  Insert a `\cite` command.

    void document.insertIndex();

  Insert a `\index` command.

    void document.insertFootnote();

  Insert a `\footnote` command.

    void document.comment();

  Inserts comment markers to make the selection or current line a comment.

    void document.uncomment();

  Removes comment markers from the selection or current line.

    void document.uppercase();

  Put the selected text or the letter after the cursor in uppercase.

    void document.lowercase();

  Put the selected text or the letter after the cursor in lowercase.

    void document.capitalize();

  Capitalize the selected text or the current word.

    void document.joinLines();

  Joins the lines of the current selection. Two succeeding text lines are always separated with a single space.

    void document.insertIntelligentNewline();

  Insert a smart newline (see Inteligentny nowy wiersz).

    void document.insertIntelligentTabulator();

  Insert a smart tabulator (see Inteligentny tabulator).

    void document.editBegin();

  Starts an edit group for undo/redo grouping. Make sure to always call `editEnd()` as often as you call `editBegin()`. Calling `editBegin()` internally uses a reference counter, i.e., this call can be nested.

    void document.editEnd();

  Ends an edit group. The last call of `editEnd()` (i.e. the one for the first call of `editBegin()`) finishes the edit step.

    StringList document.labelList();

  Returns all defined labels as a `StringList`, which can be used in JavaScript as an array of strings.

    StringList document.bibitemList();

  Returns all defined bibitems as a `StringList`, which can be used in JavaScript as an array of strings.

    void document.refreshStructure();

  Refresh the structure view (see Poruszanie się po źródle LATEX).

### The Kile API

The global object (variable) `kile` is used to handle top level interactions with the outside world, input message and dialog interfaces. These API calls are divided into subobjects to structure this part of the scripting API. Conceptually `kile` is a bit like `window` in a browser API.

- `kile.alert`: message boxes

- `kile.input`: get user input

- `kile.wizard`: call one of Kile's wizards

- `kile.script`: get info about a running script

- `kile.file`: file operations like read and write.

#### Alert

    void kile.alert.information(String text, String caption);

  Display an Information dialog. `text` is the message string and `caption` the title of the message box. The default title is the script name.

    void kile.alert.sorry(String text, String caption);

  Display a Sorry dialog. `text` is the message string and `caption` the title of the message box. The default title is the script name.

    void kile.alert.error(String text, String caption);

  Display an Error dialog. `text` is the message string and `caption` the title of the message box. The default title is the script name.

    String kile.alert.question(String text, String caption);

  Display a simple question dialog. `text` is the message string and `caption` the title of the message box. The default title is the script name. The returned string is either `yes` or `no`.

    String kile.alert.warning(String text, String caption);

  Display a simple warning dialog. `text` is the message string and `caption` the title of the message box. The default title is the script name. The returned string is either `continue` or `cancel`.

#### Input

    String kile.input.getListboxItem(String caption, String label, StringList list);

  Function to let the user select an item from a list, which is shown as a listbox. `caption` is the text that is displayed in the title bar, `label` is the text that appears as the label for the list and `list` is the string list which is inserted into the list.

    String kile.input.getComboboxItem(String caption, String label, StringList list);

  Function to let the user select an item from a list, which is shown as a combobox. `caption` is the text that is displayed in the title bar, `label` is the text that appears as the label for the list and `list` is the string list which is inserted into the list.

    String kile.input.getText(String caption, String label);

  Function to get a string from the user. `caption` is the text that is displayed in the title bar and `label` the text that appears as a label for the line edit.

    String kile.input.getLatexCommand(String caption, String label);

  Function to get a LATEX command from the user. This means that only lower- and uppercase letters are allowed. `caption` is the text that is displayed in the title bar and `label` the text that appears as a label for the line edit.

    int kile.input.getInteger(String caption, String label, int min = INT_MIN, int max = INT_MAX);

  Function to get an integer from the user. `caption` is the text that is displayed in the title bar. `label` is the text that appears as the label for the spin box. `min` and `max` are the minimum and maximum allowable values the user may choose. Default values are `INT_MIN` and `INT_MAX`.

    int kile.input.getPosInteger(String caption, String label, int min = 1, int max = INT_MAX);

  Function to get a positive integer from the user. `caption` is the text that is displayed in the title bar. `label` is the text that appears as the label for the spin box. `min` and `max` are the minimum and maximum allowable values the user may choose. Default values are `1` and `INT_MAX`.

#### Wizard

    void kile.wizard.tabular();

  Calls the Tabular wizard, which helps to write a tabular environment (see Macierze i tabele).

    void kile.wizard.array();

  Calls the Array wizard, which helps to write an array environment (see Macierze i tabele).

    void kile.wizard.tabbing();

  Calls the Tabbing wizard, which helps to write a tabbing environment (see Macierze i tabele).

    void kile.wizard.floatEnvironment();

  Calls the Floats wizard, which helps to insert floating elements (see Wstawianie elementów pływających).

    void kile.wizard.mathEnvironment();

  Calls the Math wizard, which helps to insert math environments (see Wstawianie otoczenia matematycznego).

    void kile.wizard.postscript();

  Calls the Postscript Tools wizard, which may help to manipulate or rearrange Postscript documents (see Narzędzia PostScript®).

#### Script

    String kile.script.name();

  Returns the basename of a running script (without path and extension).

    String kile.script.caption();

  Returns a string, which can be used as a caption of alert boxes. It looks like `Script: scriptname.js`.

#### File

    Object kile.file.read(String filename);

  Read the contents of a text file. It is used like

  Example: `var res = kile.file.read("path/to/file.txt");`

  The return value `res` is an object (better: a map) with three properties:

  - status: Gives the status code of the operation, which can be 0 (no error), 1 (access failed) or 2 (access denied). So, if no error occurred, the value of `res.status` or `res["status"]` will be 0.

  - result: Contains the text of the given file.

  - message: Contains an error message, if an error occurred.

    Object kile.file.read();

  The same as `read(filename)`, but no filename is given. A dialog will appear to select the file to read.

    Object kile.file.write(String filename, String text);

  Write the given text into a file. It is used like

  Example: `var res = kile.file.write("path/to/file.txt","Some text...");`

  The return value `res` is an object (better: a map) with two properties: `status` and `message` (see `read()` for more information).

    Object kile.file.write(String text);

  The same as `write(filename,text)`, but no filename is given. A dialog will appear to choose a filename.

    String kile.file.getOpenFileName(String startDir, String filter);

  Creates a modal file dialog and return the selected filename or an empty string if none is chosen. Note that with this method the user must select an existing filename.

  Parameters:

  - startDir: Starting directory of the open dialog.

  - filter: A shell glob or a mime-type-filter that specifies which files to display. Refer to the KFileDialog documentation for more information on this parameter.

  Both parameters are optional. If you omit `filter`, all files will be displayed. If additionally `startDir` is omitted, the dialog will take the current document directory as starting point.

    String kile.file.getSaveFileName(String startDir, String filter);

  Creates a modal file dialog and returns the selected filename or an empty string if none is chosen. Note that with this method the user need not select an existing filename. See `getOpenFileName()` for an explanation of the parameters.

Examples
Examples

## Examples

Some examples may help you to understand how to use the scripting API. These examples and some more are found in the scripting directory of Kile: `KILE_APP_DIR/scripts/`. Each script contains a short description.

### Example 1: replace environment name

Replace a surrounding LATEX environment with another, where the relative cursor position will not be changed. `\begin{abc}...\end{abc}` for example can be changed to `\begin{xyz}...\end{xyz}`.

    var range = document.environmentRange(false);
    if ( range.isValid() ) {
    	var envname = kile.input.getLatexCommand("Enter Environment","New environment name:");
    	if ( envname != '' ) {
    		replaceEnvCommand(envname,range);
    	}
    }
    else {
    	kile.alert.sorry("No surrounding LaTeX environment found.");
    }

    function replaceEnvCommand(newEnv,r)
    {
    	var c = view.cursorPosition();

    	var envname = document.environmentName();

    	if ( envname != "" ) {
    		var beginRange = new Range(r.start,new Cursor(r.start.line,r.start.column+8+envname.length));
    		var endRange = new Range(new Cursor(r.end.line,r.end.column-6-envname.length),r.end);

    		document.editBegin();
    		document.replaceText(endRange,"\\end{"+newEnv+"}");
    		document.replaceText(beginRange,"\\begin{"+newEnv+"}");
    		document.editEnd();
    	}
    }

### Example 2: replace a LATEX font command

Replace a surrounding LATEX font command with another font command, when the cursor is placed inside the texgroup. The relative cursor position will not be changed. `\textbf{abc}` for example can be changed to `\textit{abc}`.

    var fontCommands = new Array("\\textbf","\\textit","\\textsl","\\texttt",
                                 "\\textsc","\\textrm","\\textsf","\\emph");

    var range = document.texgroupRange(false);
    if ( range.isValid() ) {
    	replaceFontCommand(range);
    }
    else {
    	kile.alert.sorry("No surrounding TeX group found.");
    }

    function replaceFontCommand(r)
    {
    	var c = view.cursorPosition();

    	document.editBegin();
    	view.setCursorPosition(r.start);
    	var cmd = document.latexCommand();
    	var index = fontCommands.indexOf(cmd);
    	if ( index >= 0 ) {
    		var cmdRange = document.latexCommandRange();
    		if ( cmdRange.isValid() ) {
    			var newcommand = kile.input.getListboxItem("Choose",
    			                            "Choose font command:",buildCmdList(cmd));
    			if ( newcommand != "" ) {
    				document.replaceText(cmdRange,newcommand);
    				c.column = c.column - (cmd.length - newcommand.length);
    			}
    		}
    /		view.setCursorPosition(c);
    	}
    	else {
    		kile.alert.sorry("No surrounding font command found.");
    	}
    	document.editEnd();
    }

    function buildCmdList(current)
    {
    	var result = new Array();
    	for ( i=0; i<fontCommands.length; ++i ) {
    		if ( fontCommands[i] != current ) {
    			result.push(fontCommands[i]);
    		}
    	}
    	return result;
    }

### Example 3: surround selected text

Surround selected text with a TeX command, where the relative cursor position will not be changed. `abc` for example can be changed to `\texcommand{abc}`.

    var range = view.selectionRange();

    if ( range.isValid() ) {
    	var cmd = kile.input.getLatexCommand("Choose","Choose surrounding LaTeX command:");
    	if ( cmd != "" ) {
    		surroundTexCommand("\\"+cmd,range);
    	}
    }
    else {
    	kile.alert.sorry("No selection found.");
    }

    function surroundTexCommand(cmd,r)
    {
    	var c = view.cursorPosition();

    	document.editBegin();
    	view.clearSelection();
    	document.insertText(r.end,"}");
    	document.insertText(r.start,cmd+"{");

    	c.column = c.column + cmd.length + 2;
    	view.setCursorPosition(c);
    	document.editEnd();
    }

Rozdział 15. Pomoc
Pomoc

# Rozdział 15. Pomoc

## Dokumenty pomocy

LATEX jest raczej zaawansowanym systemem, gdzie podstawowe możliwości można rozszerzyć o rozmaite i liczne pakiety dodatkowe. Kile zapewnia wiele różnych sposobów na pomoc użytkownikowi.

Leksykon LaTeX

  Spis alfabetyczny najpowszechniej używanych poleceń LATEX

Dokumentacja TeX

  teTEX/TeX Live dostarcza dużej liczby dokumentów pomocy. Uwzględnia to dokumentację dla wszystkich dołączonych pakietów i dodatkowy leksykon LATEX.

LaTeX

  Pełny leksykon dla TEX oraz powiązanych. To nie tylko opis wszystkich programów, ale także ważnych pakietów. Uwzględnia on pełny podręcznik użytkownika LATEX, a także wspaniale nadaje się do wyszukiwania sposobu formatowania przy pisaniu dokumentu. Jako iż ten dokument jest bardzo rozbudowany, w Kile odwołano się do niego poprzez trzy zakładki.

Polecenie LaTeX

  Kolejny spis alfabetyczny najpowszechniej używanych poleceń LATEX

Temat LaTeX

  Opis tematów ważnych dla LATEX.

LaTeX Env

  Spis alfabetyczny najpowszechniej używanych otoczeń LATEX.

Pomoc czuła na kontekst
Pomoc czuła na kontekst

## Pomoc czuła na kontekst

Kile obsługuje również pomoc czułą na kontekst, którą można wywołać poprzez Ctrl+Alt+H,K. W Ustawienia → Ustawienia Kile... → Kile+Pomoc można wybrać czy chcesz używać leksykonu LATEX od Kile czy pomocy systemu teTEX/TeX Live, co jest ustawieniem domyślnym.

Wyszukiwanie słów kluczowych
Wyszukiwanie słów kluczowych

## Wyszukiwanie słów kluczowych

Nie zawsze można łatwo znaleźć właściwy dokument, ponieważ teTEX/TeX Live jest dostarczany wraz z wieloma dokumentami pomocy. Aby ułatwić to wyszukiwanie teTEX/TeX Live dostarcza mały program o nazwie texdoctk. Zawiera on bazę danych wszystkich dokumentów pomocy, dla których Kile zapewnia przyjazny użytkownikowi interfejs.

Wszystkie dokumenty są zgrupowane w kategorie. Dodatkowo, można szukać po nazwach pakietów lub słowach kluczowych. Kile pokaże wtedy tylko dokumenty pasujące do szukanego ciągu znaków.

Dwukrotne naciśnięcie przyciskiem myszy lub klawiszem Spacji uruchomi przeglądarkę dla wybranego dokumentu. Może to być dowolny dokument, nie tylko dokument DVI, PS, PDF czy HTML. Kile uwzględnia ustawienia KDE przy uruchamianiu odpowiedniej przeglądarki.

Pomoc użytkownika
Pomoc użytkownika

## Pomoc użytkownika

Poza statyczną dokumentacją teTEX/TeX Live, Kile obsługuje również bardziej elastyczny sposób dostępu do dokumentów pomocy. W menu Pomoc Kile ma osobne podmenu Pomoc użytkownika, gdzie użytkownik dodaje dokumenty, które sam dowolnie wybrał. Mogą to być najważniejsze dokumenty dokumentacji teTEX/TeX Live, lub nawet własnoręcznie napisane dokumenty. Można także podawać adresy URL.

Przejdź do Ustawienia → Ustawienia Kile... → Kile+Pomoc i naciśnij przycisk Ustawienia, aby ustawić menu Pomoc użytkownika. Można dodawać, usuwać lub przenosić wpisy menu, a także rozdzielać je tak, aby zoptymalizować strukturę menu.

Naciśnięcie przycisku Dodaj otworzy kolejne okno dialogowe, gdzię będzie można zmienić nazwę wpisu i wskazać odpowiedni plik lub adres URL. Drugi przycisk po prawej od pola tekstowego uruchamia Konqueror, którego można użyć do określenia poprawnego adresu URL.

Po ukończeniu ustawiania, wszystkie wpisy ukażą się w menu Pomoc jako osobny wpis menu Pomoc użytkownika.

Rozdział 16. Zasługi i licencja
Zasługi i licencja

# Rozdział 16. Zasługi i licencja

Kile jest otwarto-źródłowym przyjaznym użytkownikowi edytorem kodu źródłowego LATEX / TEX. Można go uruchomić na systemach, na których jest dostępne środowisko pulpitu KDE. KDE jest dostępne dla kilku architektur uwzględniając w tym Linux® i inne Uniksopodobne systemy.

Duże podziękowania należą się ludziom, którzy dążą do podtrzymywania projektu Kile i tym, którzy poświęcają liczne godziny własnego czasu na opracowywanie narzędzi, których możemy później używać na licencji GNU. Aktualne informacje o współtwórcach można znaleźć w oknie dialogowym O Kile dostępnego z menu Pomoc.

Wielkie dzięki wszystkim, którzy współtworzyli!

Łukasz Wojniłowicz`(lukasz.wojnilowicz AT gmail.com)`

Ten program jest rozprowadzany na zasadach Licencji GNU Free Documentation License.

Ten program jest rozprowadzany na zasadach Licencji GNU General Public License.