SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
M
                                LTEX-
                                A




Joanna Ludmiła Ryćko
rycko@informatik.hu-berlin.de


       BachoTEX


    kwietnia – maja
T




    Większa część tego referatu powstała na podstawie
    przetłumaczonego przeze mnie z języka niemieckiego artykułu,
    napisanego przez Christiana Faulhammera.

    Oryginalny tekst można obejrzeć na stronie:
    http://www.minimalbeispiel.de

    English version and of course german version are available.
Część I

Z
Z
    Dlaczego ważne jest staranne sformułowanie?
    Jak jeszcze pisać, żeby nie otrzymać odpowiedzi?
    Jak zwiększyć szanse na pomocną odpowiedź?
D                                                            ?I
Z


    Wiem, ze na pytanie "dlaczego nie działa" bardzo trudno
    odpowiedziec, i zdaje sobie sprawe ze troche tak zabrzmi moje
    pytanie, niemniej...
    Po kompilacji nie ma ani jednej strony, a ja nie wiem dlaczego.
    Plik wyglada mniej wiecej tak:
    documentclass[a4paper,12pt,twoside,dvips]{manual_w1250}
    usepackage[OT4]{polski}usepackage{colordvi, times}
    usepackage[bookmarks=true]{hyperref}
    makeindexbegin{document}
    title{Tytul}issue{Numer wydania}descri{Opis}
    author {Jan Kowalski}sklad {Marek Nowak}date{today}
    inserttitlepagetableofcontents
    input plik1.tex input plik2.tex %oczywiscie to nie sa puste pliki
    appendix input dodatek.tex input plik.ind
    end{document}
D                                                           ? II
Z




    a wychodzi:
    LaTex-Result: 0 Error (s), 0 Warning (s), 0 Bad Box (ex), 0 Page (s)
D                                                         ? III
Z




    Błędy:
        Brak informacji na temat używanych
        programów/pakietów/platformy.
        Użyta niestandardowa klasa dokumentu wyklucza możliwość
        przetestowania pliku przez kogoś z listy dyskusyjnej.
        Z powodu włączanych zewnętrznych plików, które nie zostały
        załączone nie jest możliwe skompilowanie dokumentu.
        Brak kontekstu wystąpienia wspomnianego błędu.
D                                                           ? IV
Z




    Temat: pytanie

    mam jedno pytanie
    czy instalowanie fontow pod Tex-em odbywa sie w ten sam
    sposob co pod linuxem?
    piusze prace dyplomowa, i pragnieniem promotora jest abym
    opisal jak zachowuje sie czcionka TrueType i Adobe Type 1 pod
    linuxem. jak odbywa sie konwersja badz rozpoznanie czcionki. czy
    mozecie mi pilnie pomoc?
D                                                           ?V
Z




    Błędy:
        Brak konkretnego tematu: słowo „pytanie” nic nikomu nie
        powie.
        Słowo „pilnie” w treści.
        Niestarannie napisane (brak dużych liter, znaków
        przestankowych, literówki).
        Autor nie wspomniał, co już wie w tym temacie, czego się już
        nauczył, jakie informacje i gdzie znalazł.
        Na brak polskich liter przymykamy oko. . .
J                ,                                      ?
Z




    Anonim, brak podpisu imieniem i nazwiskiem.
    Ogólnie postawa roszcząca.
    Brak konkretów.
    Niestaranna stylistyka, gramatyka, ortografia. . .
J                                                       ?I
Z




                              A
    . Przejrzyj dokumentację LTEX-a, dystrybucji i pakietów.
      Na wielu systemach wystarczy wpisać:
      texdoc <Paketname> (bez rozszerzenia)
      graficznie: texdoctk
    . Przejrzyj FAQ po polsku http://faq.gust.org.pl
      lub w innym znanym Ci języku, np.: po niemiecku
      http://www.dante.de/faq/de-tex-faq/
      lub po angielsku
      http://www.tex.ac.uk/cgi-bin/texfaq2html/
    . Przeszukaj archiwa grup dyskusyjnych dotyczących TEX-a,
      np. w Google Groups (http://groups.google.pl).
J                                                   ? II
Z




    . Sprawdź, czy Twój dokument nie zawiera przestarzałych lub
      niewskazanych pakietów czy poleceń. Informacje
      w ftp://dante.ctan.org/tex-archive/info/l2tabu/
      w języku angielskim, niemieckim, francuskim lub włoskim.
      Na stronie http://www.kohm.name/markus/texidate.html
      można plik sprawdzić automatycznie.
J                                                       ? III
Z




    . Stwórz minimalny plik (jak? o tym za chwilę).
      Wyślij go z jasnym opisem problemu, komunikatem o błędzie
      i listą wersji używanych pakietów (polecenie listfiles
      w preambule dokumentu).
      Nie zapomnij napisać, co i jak zrobiłeś/zrobiłaś do tej pory
      w celu zidentyfikowania problemu.
      Jak zadawać inteligentne pytania można przeczytać tu:
      http://rtfm.bsdzine.org/
J                                                    ? IV
Z




    . Szanuj grupowiczów i ich czas.
    . Przestrzegaj zasad netykiety.
    . Do starannego przygotowania pytania należy również
      ortografia i ogólna poprawność językowa Twojego e-maila.
Część II

M              –
C                                   ?
    Dlaczego powinien dać się skompilować?
    Dlaczego musi być mały?



S
    Przesunięcie końca
       Pojedynczy plik
       Połączone pliki
    Uproszczenia
       Usunięcie niepotrzebnych pakietów
       Własne polecenia i środowiska
       Ściskanie
       Usuwanie grafik
C                                    ?I




    Tworzenie minimalnego przykładu – metoda rozpoznawania
    i usuwania oraz określania przyczyn jakiegoś zachowania.

    Warunki: możliwie krótki kod, gotowy do skompilowania.
D                                              ?
C                  ?




    Żeby pytający nie mógł z niewiedzy usunąć informacji, które
    mogą się okazać ważne do postawienia diagnozy;
    żeby odpowiadający mógł przenieść i wypróbować ów
    fragment kodu poprzez „kopiuj i wklej”.
D                         ?
C                  ?




    Żeby odpowiadający nie musiał się przedzierać przez długie,
    nieistotne partie kodu,
    ponieważ w ten sposób ogranicza się źródła błędów,
    bo krótkie przykłady dobrze się wysyła na grupę dyskusyjną,
    ponieważ przez samo minimalizowanie kodu źródłowego
    można znaleźć brakujące nawiasy, błędy składniowe,
    zapomniane polecenia „przełączające” (np. bfseries) itp.,
    bo przy małych dokumentach nie traci się zbyt szybko
    orientacji.
C                                    ?




    Nawet początkujący nie powinni mieć problemu ze stworzeniem
    takiego minimalnego przykładu – potrzebna jest tylko odrobina
    cierpliwości i zdrowego rozsądku.

    Najczęściej można zidentyfikować problem samemu i oszczędzić
    sobie wysyłania pytania na grupę dyskusyjną (np. na Listę
    GUST-u: gust-l@man.torun.pl).
S          I




    Uwaga: zawsze przed rozpoczęciem minimalizowania kodu należy
    zachować oryginał i pracować z kopią, żeby nie stracić już
    napisanego materiału!
S           II




    Zasada „dziel i (o-)panuj” (niem. teile und (be-)herrsche; polski
    odpowiednik dziel i rządź nie oddaje podwójnego znaczenia tej
    zasady).

    Dzielić można na różne sposoby, zależnie od struktury tekstu.
P                     :
P
S




    . Przesuwanie end{document} w kierunku początku pliku.
      (blokowo ku górze, każdorazowo kompilując plik, nie
      usuwając oryginalnego tekstu!)
    . Brak błędu – koniec szukania   
 cofamy się o jeden krok.
    . Usunięcie całego tekstu od begin{document} do początku
      znalezionego bloku tekstu.
    . Jeśli po skompilowaniu problem w dalszym ciągu się pojawia
      to znaczy, że znajduje się on dokładnie w pozostawionym
      fragmencie.
P                        :
P
S




    Postępowanie jest analogiczne:

    Wykomentowuje się polecenia input i include
    lub stosuje komendę includeonly.
U
S




    Po znalezieniu błędnego bloku trzeba starać się uprościć go na
    tyle, żeby problem sprowadzić do jednej linijki.
U               :
U
S


    Pakiety mogą się nawzajem zakłócać.

    Sprawdzanie przez usuwanie (wykomentowanie) jeden po drugim.
      . Zalecana deklaracja pakietów w następującej formie:
        usepackage{
          amsmath,
          listings,
          color
        }

      . Zaprocentowujemy kolejne pakiety.
      . Brak błędu – koniec szukania   
 cofamy się o jeden krok.
U               :
W                                       I
S




    Zdefiniowane lub zmodyfikowane przez siebie polecenia
    i środowiska:
        jeśli nie są używane w pozostawionym fragmencie
        dokumentu, powinny zostać usunięte,
        w przeciwnym wypadku powinny zostać opróżnione, czyli
        albo przekazywać argumenty danego makra bez „ubierania”
        ich w dodatkowe funkcje lub nie powinny mieć żadnego
        działania.
U                :
W                                         II
S



    Przykład:
    newcommand{dialog}[2]{textcolor{red}{%
      textbf{#1} powiedzial{}:} textit{#2}}

    powinno zostać zamienione na:
    newcommand{dialog}[2]{#1 #2} %tylko argumenty makra

    lub na:
    newcommand{dialog}[2]{} %brak jakiegokolwiek dzial{}ania

    Jeśli błąd jest spowodowany przez własne makro, należy je
    również sprawdzić krok po kroku.
U            :
Ś
S




    Przesuwamy koniec, linijka po linijce
    Idealnie: zostaje jedna linijka dokumentu, której można się
    samemu przyjrzeć lub wysłać ją na grupę dyskusyjną.
U
S




    Inne możliwości:
        pakiet comment
        polecenia warunkowe if
        wykorzystanie wbudowanych możliwości edytora do
        wykomentowania wielowierszowych obszarów
U                :
U
S




    Obrazki są problematyczne: nie można ich przesłać na grupę ani
    umieścić w Internecie, bo mają duże rozmiary i mogą zawierać
    poufne informacje.

    Rozwiązanie: zastąpić grafikę prostokątem: rule
Część III

M         –
P
    Błąd składni
    Nieoczekiwane zachowanie
    Niewytłumaczalne zachowanie
B                 I
P



    Kod:                                  Oczekiwany efekt:
    documentclass[a4paper]{article}
    usepackage{amsmath}                         S1 > S > S2
                                                       ⇒ S1 = ex
    begin{document}
    begin{align*}                                     ⇒ S1 = ey
    S_1 > S > S_2                                    ⇒ S1 = ex
    Rightarrow S_1 &    = mathrm{e}^{}{x} 
    Rightarrow S_1 &    = mathrm{e}^{}{y}                  = ez
    Rightarrow S_1 &    = mathrm{e^{}{x} ↵
    
                   & =   boxed{mathrm{e}^{}{z}}
    end{align*}
    end{document}
B                 II
P




    Informacja o błędzie brzmi:
    Runaway argument?
    S_1 > S > S_2 
    Rightarrow S_1 & = mathrm{e}^{}{x} 
    Rightarrow S_1 & = mathrm ETC

    ! File ended while scanning use of align*.
    <inserted text>
                    par
B                III
P


    Powyższe pozwala przypuszczać, że błędu należy szukać
    w linijkach 7–9. w związku z tym trzeba wykomentować fragment
    środowiska align:
    documentclass[a4paper]{article}
    usepackage{amsmath}

    begin{document}
    begin{align*}
    S_1 > S > S_2 
    %Rightarrow S_1 & = mathrm{e}^{}{x} 
    %Rightarrow S_1 & = mathrm{e}^{}{y} 
    %Rightarrow S_1 & = mathrm{e^{}{x} 
    % & = boxed{mathrm{e}^{}{z}}
    end{align*}
    end{document}
B            IV
P




    Błędu już nie ma
    stopniowo linijki.
                      
 usunięto za dużo 
 przywracamy
    Od linijki 9 znowu pojawia się błąd 
 należy zaprocentować
    wszystko powyżej aż do begin{align*}.
    Błąd ciągle jeszcze występuje 
 można usunąć
    wykomentowane linijki.
B                V
P



    documentclass[a4paper]{article}
    usepackage{amsmath}

    begin{document}
    begin{align*}
    Rightarrow S_1 & = mathrm{e^{}{x} 
    end{align*}
    end{document}

    Otrzymany plik jest minimalny.

    
  Brakuje zamykającej klamry po mathrm{e^{}.
    (Pomocą służyć mogą dobre edytory, które wyróżniają pasujące
    do siebie klamry.)
N                                  I
P


    Weźmy teraz taki przykład:
    documentclass[a4paper]{article}
    usepackage{amsmath}
    newcommand{im}{mathrm{i}}
    newcommand{e}{mathrm{e}}

    begin{document}
    begin{align}
    f_N(t) = & frac{A_0}{2} + sum_{k=1}^{}
    inftyleft(frac{1}{2}left(A_k - im B_kright)
    e^{}{imalpha t} + frac{1}{2}left( A_k +
    im B_k right)e^{}{- imalpha t}right)
            & text{mit } B_0=0 text{ und } alpha = omega t
    end{align}
    end{document}
N                                     II
P




    Oto początek wzoru złożonego przez powyższy kod:

                                      A0
                           fN (t) =      + (. . . )               (1)
                                      2
    Tu przeszkadza subiektywnie zbyt mały odstęp między znakiem
    równości a ułamkiem (linijka 8).

    
 Kod jest „trochę” nieczytelny.
    
 Ograniczamy się do najistotniejszych informacji.
N                                  III
P


    Wyczyszczenie własnych makr:
    documentclass[a4paper]{article}
    usepackage{amsmath}
    newcommand{im}{}
    newcommand{e}{}

    begin{document}
    begin{align}
    f_N(t) = & frac{A_0}{2} + sum_{k=1}^{}
    inftyleft(frac{1}{2}left(A_k - im B_kright)
    e^{}{imalpha t} + frac{1}{2}left( A_k +
    im B_k right)e^{}{- imalpha t}right)
            & text{mit } B_0=0 text{ und } alpha = omega t
    end{align}
    end{document}
N                                   IV
P


    Pamiętajmy, że nie chodzi tutaj o poprawność matematyki!
    Przykład wciąż bardzo złożony
    początku linijki 8:
                                   
   trzeba go uszczuplić do

    documentclass[a4paper]{article}
    usepackage{amsmath}
    newcommand{im}{}
    newcommand{e}{}

    begin{document}
    begin{align}
    f = & frac{a}{b}
    end{align}
    end{document}

    
  Otrzymany przyklad jest już minimalny
    na grupę dyskusyjną.
                                               
 można go wysłać
N                                       I
P




    Następny przykład korzysta z różnych pakietów, ponieważ
    zawiera tekst, grafikę i matematykę.
    documentclass[a4paper,12pt]{scrreprt}
    usepackage{graphicx}
    usepackage{
      polski,
      amsmath,
      exscale
    }
    usepackage[latin2]{inputenc}

    ...
N                                       II
P



    ...

    begin{document}
    To jest tylko testowy tekst, kt’ory ma pom’oc wytl{}umaczy’c
    zasady minimalnego przykl{}adu nowym i~poczk{a}tkujacym, kt’orzy
    pisza na GUSTListk{e}. i~teraz dodajemy sobie obrazek. Chcemy
    sprawdzi’c, jak zareaguje na niego LaTeX.

    includegraphics{grafika} i~piszemy dalej obok niego. Niestety
    g’orna krawk{e}d’z obrazka nie wyrownuje sik{e} z~tym tekstem.
    Trzeba wik{e}c szybko stworzy’c minimalny przyklad i~wysla’c
    pytanie na GUSTListk{e}, dlaczego to tak jest. Ale dopiero po
    doglk{e}bnym przebadaniu tematu przez siebie.
    end{document}
N                                      III
P




    Sprawdzamy:
        pakiety (nic to nie daje)
    Redukujemy:
        pozostałe niepotrzebne dokumenty (w tym opcje klasy),
        niestandardową klasę dokumentu, pochodzącą z pakietu
        „KOMA-Script” (co również nic nie daje) 
    zastępujemy ją
        klasą standardową report, która jest dostępna we wszystkich
        dystrybucjach.
N                                         IV
P




    Naprawdę minimalny stan pliku:
    documentclass{report}
    usepackage{graphicx}

    begin{document}
    includegraphics{grafika} Testowy tekst.
    end{document}

    Ale, ale. . . , to tak naprawdę nie jest minimalny przykład. Trzeba
    jeszcze usunąć grafikę i wykomentować pakiet graphicx.
N                                     V
P




    TADAA. . .
    documentclass{report}
    %usepackage{graphicx}

    begin{document}
    rule{3cm}{4cm} Testowy tekst.
    end{document}

    Teraz już można wysłać przykład na grupę dyskusyjną.
D   ...

Más contenido relacionado

Más de Joanna Ludmila Rycko

Más de Joanna Ludmila Rycko (6)

Typografia dla początkujących
Typografia dla początkującychTypografia dla początkujących
Typografia dla początkujących
 
Datenschutz in der EU uns außerhalb
Datenschutz in der EU uns außerhalbDatenschutz in der EU uns außerhalb
Datenschutz in der EU uns außerhalb
 
Web2.0 – die Macht der Community
Web2.0 – die Macht der CommunityWeb2.0 – die Macht der Community
Web2.0 – die Macht der Community
 
Einparkhilfe Präsentation
Einparkhilfe PräsentationEinparkhilfe Präsentation
Einparkhilfe Präsentation
 
Sekrety starej szafy... czyli o archiwizacji długoterminowej
Sekrety starej szafy... czyli o archiwizacji długoterminowejSekrety starej szafy... czyli o archiwizacji długoterminowej
Sekrety starej szafy... czyli o archiwizacji długoterminowej
 
The TeX Clinic
The TeX ClinicThe TeX Clinic
The TeX Clinic
 

Minimalny przykład

  • 1. M LTEX- A Joanna Ludmiła Ryćko rycko@informatik.hu-berlin.de BachoTEX kwietnia – maja
  • 2. T Większa część tego referatu powstała na podstawie przetłumaczonego przeze mnie z języka niemieckiego artykułu, napisanego przez Christiana Faulhammera. Oryginalny tekst można obejrzeć na stronie: http://www.minimalbeispiel.de English version and of course german version are available.
  • 4. Z Dlaczego ważne jest staranne sformułowanie? Jak jeszcze pisać, żeby nie otrzymać odpowiedzi? Jak zwiększyć szanse na pomocną odpowiedź?
  • 5. D ?I Z Wiem, ze na pytanie "dlaczego nie działa" bardzo trudno odpowiedziec, i zdaje sobie sprawe ze troche tak zabrzmi moje pytanie, niemniej... Po kompilacji nie ma ani jednej strony, a ja nie wiem dlaczego. Plik wyglada mniej wiecej tak: documentclass[a4paper,12pt,twoside,dvips]{manual_w1250} usepackage[OT4]{polski}usepackage{colordvi, times} usepackage[bookmarks=true]{hyperref} makeindexbegin{document} title{Tytul}issue{Numer wydania}descri{Opis} author {Jan Kowalski}sklad {Marek Nowak}date{today} inserttitlepagetableofcontents input plik1.tex input plik2.tex %oczywiscie to nie sa puste pliki appendix input dodatek.tex input plik.ind end{document}
  • 6. D ? II Z a wychodzi: LaTex-Result: 0 Error (s), 0 Warning (s), 0 Bad Box (ex), 0 Page (s)
  • 7. D ? III Z Błędy: Brak informacji na temat używanych programów/pakietów/platformy. Użyta niestandardowa klasa dokumentu wyklucza możliwość przetestowania pliku przez kogoś z listy dyskusyjnej. Z powodu włączanych zewnętrznych plików, które nie zostały załączone nie jest możliwe skompilowanie dokumentu. Brak kontekstu wystąpienia wspomnianego błędu.
  • 8. D ? IV Z Temat: pytanie mam jedno pytanie czy instalowanie fontow pod Tex-em odbywa sie w ten sam sposob co pod linuxem? piusze prace dyplomowa, i pragnieniem promotora jest abym opisal jak zachowuje sie czcionka TrueType i Adobe Type 1 pod linuxem. jak odbywa sie konwersja badz rozpoznanie czcionki. czy mozecie mi pilnie pomoc?
  • 9. D ?V Z Błędy: Brak konkretnego tematu: słowo „pytanie” nic nikomu nie powie. Słowo „pilnie” w treści. Niestarannie napisane (brak dużych liter, znaków przestankowych, literówki). Autor nie wspomniał, co już wie w tym temacie, czego się już nauczył, jakie informacje i gdzie znalazł. Na brak polskich liter przymykamy oko. . .
  • 10. J , ? Z Anonim, brak podpisu imieniem i nazwiskiem. Ogólnie postawa roszcząca. Brak konkretów. Niestaranna stylistyka, gramatyka, ortografia. . .
  • 11. J ?I Z A . Przejrzyj dokumentację LTEX-a, dystrybucji i pakietów. Na wielu systemach wystarczy wpisać: texdoc <Paketname> (bez rozszerzenia) graficznie: texdoctk . Przejrzyj FAQ po polsku http://faq.gust.org.pl lub w innym znanym Ci języku, np.: po niemiecku http://www.dante.de/faq/de-tex-faq/ lub po angielsku http://www.tex.ac.uk/cgi-bin/texfaq2html/ . Przeszukaj archiwa grup dyskusyjnych dotyczących TEX-a, np. w Google Groups (http://groups.google.pl).
  • 12. J ? II Z . Sprawdź, czy Twój dokument nie zawiera przestarzałych lub niewskazanych pakietów czy poleceń. Informacje w ftp://dante.ctan.org/tex-archive/info/l2tabu/ w języku angielskim, niemieckim, francuskim lub włoskim. Na stronie http://www.kohm.name/markus/texidate.html można plik sprawdzić automatycznie.
  • 13. J ? III Z . Stwórz minimalny plik (jak? o tym za chwilę). Wyślij go z jasnym opisem problemu, komunikatem o błędzie i listą wersji używanych pakietów (polecenie listfiles w preambule dokumentu). Nie zapomnij napisać, co i jak zrobiłeś/zrobiłaś do tej pory w celu zidentyfikowania problemu. Jak zadawać inteligentne pytania można przeczytać tu: http://rtfm.bsdzine.org/
  • 14. J ? IV Z . Szanuj grupowiczów i ich czas. . Przestrzegaj zasad netykiety. . Do starannego przygotowania pytania należy również ortografia i ogólna poprawność językowa Twojego e-maila.
  • 16. C ? Dlaczego powinien dać się skompilować? Dlaczego musi być mały? S Przesunięcie końca Pojedynczy plik Połączone pliki Uproszczenia Usunięcie niepotrzebnych pakietów Własne polecenia i środowiska Ściskanie Usuwanie grafik
  • 17. C ?I Tworzenie minimalnego przykładu – metoda rozpoznawania i usuwania oraz określania przyczyn jakiegoś zachowania. Warunki: możliwie krótki kod, gotowy do skompilowania.
  • 18. D ? C ? Żeby pytający nie mógł z niewiedzy usunąć informacji, które mogą się okazać ważne do postawienia diagnozy; żeby odpowiadający mógł przenieść i wypróbować ów fragment kodu poprzez „kopiuj i wklej”.
  • 19. D ? C ? Żeby odpowiadający nie musiał się przedzierać przez długie, nieistotne partie kodu, ponieważ w ten sposób ogranicza się źródła błędów, bo krótkie przykłady dobrze się wysyła na grupę dyskusyjną, ponieważ przez samo minimalizowanie kodu źródłowego można znaleźć brakujące nawiasy, błędy składniowe, zapomniane polecenia „przełączające” (np. bfseries) itp., bo przy małych dokumentach nie traci się zbyt szybko orientacji.
  • 20. C ? Nawet początkujący nie powinni mieć problemu ze stworzeniem takiego minimalnego przykładu – potrzebna jest tylko odrobina cierpliwości i zdrowego rozsądku. Najczęściej można zidentyfikować problem samemu i oszczędzić sobie wysyłania pytania na grupę dyskusyjną (np. na Listę GUST-u: gust-l@man.torun.pl).
  • 21. S I Uwaga: zawsze przed rozpoczęciem minimalizowania kodu należy zachować oryginał i pracować z kopią, żeby nie stracić już napisanego materiału!
  • 22. S II Zasada „dziel i (o-)panuj” (niem. teile und (be-)herrsche; polski odpowiednik dziel i rządź nie oddaje podwójnego znaczenia tej zasady). Dzielić można na różne sposoby, zależnie od struktury tekstu.
  • 23. P : P S . Przesuwanie end{document} w kierunku początku pliku. (blokowo ku górze, każdorazowo kompilując plik, nie usuwając oryginalnego tekstu!) . Brak błędu – koniec szukania cofamy się o jeden krok. . Usunięcie całego tekstu od begin{document} do początku znalezionego bloku tekstu. . Jeśli po skompilowaniu problem w dalszym ciągu się pojawia to znaczy, że znajduje się on dokładnie w pozostawionym fragmencie.
  • 24. P : P S Postępowanie jest analogiczne: Wykomentowuje się polecenia input i include lub stosuje komendę includeonly.
  • 25. U S Po znalezieniu błędnego bloku trzeba starać się uprościć go na tyle, żeby problem sprowadzić do jednej linijki.
  • 26. U : U S Pakiety mogą się nawzajem zakłócać. Sprawdzanie przez usuwanie (wykomentowanie) jeden po drugim. . Zalecana deklaracja pakietów w następującej formie: usepackage{ amsmath, listings, color } . Zaprocentowujemy kolejne pakiety. . Brak błędu – koniec szukania cofamy się o jeden krok.
  • 27. U : W I S Zdefiniowane lub zmodyfikowane przez siebie polecenia i środowiska: jeśli nie są używane w pozostawionym fragmencie dokumentu, powinny zostać usunięte, w przeciwnym wypadku powinny zostać opróżnione, czyli albo przekazywać argumenty danego makra bez „ubierania” ich w dodatkowe funkcje lub nie powinny mieć żadnego działania.
  • 28. U : W II S Przykład: newcommand{dialog}[2]{textcolor{red}{% textbf{#1} powiedzial{}:} textit{#2}} powinno zostać zamienione na: newcommand{dialog}[2]{#1 #2} %tylko argumenty makra lub na: newcommand{dialog}[2]{} %brak jakiegokolwiek dzial{}ania Jeśli błąd jest spowodowany przez własne makro, należy je również sprawdzić krok po kroku.
  • 29. U : Ś S Przesuwamy koniec, linijka po linijce Idealnie: zostaje jedna linijka dokumentu, której można się samemu przyjrzeć lub wysłać ją na grupę dyskusyjną.
  • 30. U S Inne możliwości: pakiet comment polecenia warunkowe if wykorzystanie wbudowanych możliwości edytora do wykomentowania wielowierszowych obszarów
  • 31. U : U S Obrazki są problematyczne: nie można ich przesłać na grupę ani umieścić w Internecie, bo mają duże rozmiary i mogą zawierać poufne informacje. Rozwiązanie: zastąpić grafikę prostokątem: rule
  • 33. P Błąd składni Nieoczekiwane zachowanie Niewytłumaczalne zachowanie
  • 34. B I P Kod: Oczekiwany efekt: documentclass[a4paper]{article} usepackage{amsmath} S1 > S > S2 ⇒ S1 = ex begin{document} begin{align*} ⇒ S1 = ey S_1 > S > S_2 ⇒ S1 = ex Rightarrow S_1 & = mathrm{e}^{}{x} Rightarrow S_1 & = mathrm{e}^{}{y} = ez Rightarrow S_1 & = mathrm{e^{}{x} ↵ & = boxed{mathrm{e}^{}{z}} end{align*} end{document}
  • 35. B II P Informacja o błędzie brzmi: Runaway argument? S_1 > S > S_2 Rightarrow S_1 & = mathrm{e}^{}{x} Rightarrow S_1 & = mathrm ETC ! File ended while scanning use of align*. <inserted text> par
  • 36. B III P Powyższe pozwala przypuszczać, że błędu należy szukać w linijkach 7–9. w związku z tym trzeba wykomentować fragment środowiska align: documentclass[a4paper]{article} usepackage{amsmath} begin{document} begin{align*} S_1 > S > S_2 %Rightarrow S_1 & = mathrm{e}^{}{x} %Rightarrow S_1 & = mathrm{e}^{}{y} %Rightarrow S_1 & = mathrm{e^{}{x} % & = boxed{mathrm{e}^{}{z}} end{align*} end{document}
  • 37. B IV P Błędu już nie ma stopniowo linijki. usunięto za dużo przywracamy Od linijki 9 znowu pojawia się błąd należy zaprocentować wszystko powyżej aż do begin{align*}. Błąd ciągle jeszcze występuje można usunąć wykomentowane linijki.
  • 38. B V P documentclass[a4paper]{article} usepackage{amsmath} begin{document} begin{align*} Rightarrow S_1 & = mathrm{e^{}{x} end{align*} end{document} Otrzymany plik jest minimalny. Brakuje zamykającej klamry po mathrm{e^{}. (Pomocą służyć mogą dobre edytory, które wyróżniają pasujące do siebie klamry.)
  • 39. N I P Weźmy teraz taki przykład: documentclass[a4paper]{article} usepackage{amsmath} newcommand{im}{mathrm{i}} newcommand{e}{mathrm{e}} begin{document} begin{align} f_N(t) = & frac{A_0}{2} + sum_{k=1}^{} inftyleft(frac{1}{2}left(A_k - im B_kright) e^{}{imalpha t} + frac{1}{2}left( A_k + im B_k right)e^{}{- imalpha t}right) & text{mit } B_0=0 text{ und } alpha = omega t end{align} end{document}
  • 40. N II P Oto początek wzoru złożonego przez powyższy kod: A0 fN (t) = + (. . . ) (1) 2 Tu przeszkadza subiektywnie zbyt mały odstęp między znakiem równości a ułamkiem (linijka 8). Kod jest „trochę” nieczytelny. Ograniczamy się do najistotniejszych informacji.
  • 41. N III P Wyczyszczenie własnych makr: documentclass[a4paper]{article} usepackage{amsmath} newcommand{im}{} newcommand{e}{} begin{document} begin{align} f_N(t) = & frac{A_0}{2} + sum_{k=1}^{} inftyleft(frac{1}{2}left(A_k - im B_kright) e^{}{imalpha t} + frac{1}{2}left( A_k + im B_k right)e^{}{- imalpha t}right) & text{mit } B_0=0 text{ und } alpha = omega t end{align} end{document}
  • 42. N IV P Pamiętajmy, że nie chodzi tutaj o poprawność matematyki! Przykład wciąż bardzo złożony początku linijki 8: trzeba go uszczuplić do documentclass[a4paper]{article} usepackage{amsmath} newcommand{im}{} newcommand{e}{} begin{document} begin{align} f = & frac{a}{b} end{align} end{document} Otrzymany przyklad jest już minimalny na grupę dyskusyjną. można go wysłać
  • 43. N I P Następny przykład korzysta z różnych pakietów, ponieważ zawiera tekst, grafikę i matematykę. documentclass[a4paper,12pt]{scrreprt} usepackage{graphicx} usepackage{ polski, amsmath, exscale } usepackage[latin2]{inputenc} ...
  • 44. N II P ... begin{document} To jest tylko testowy tekst, kt’ory ma pom’oc wytl{}umaczy’c zasady minimalnego przykl{}adu nowym i~poczk{a}tkujacym, kt’orzy pisza na GUSTListk{e}. i~teraz dodajemy sobie obrazek. Chcemy sprawdzi’c, jak zareaguje na niego LaTeX. includegraphics{grafika} i~piszemy dalej obok niego. Niestety g’orna krawk{e}d’z obrazka nie wyrownuje sik{e} z~tym tekstem. Trzeba wik{e}c szybko stworzy’c minimalny przyklad i~wysla’c pytanie na GUSTListk{e}, dlaczego to tak jest. Ale dopiero po doglk{e}bnym przebadaniu tematu przez siebie. end{document}
  • 45. N III P Sprawdzamy: pakiety (nic to nie daje) Redukujemy: pozostałe niepotrzebne dokumenty (w tym opcje klasy), niestandardową klasę dokumentu, pochodzącą z pakietu „KOMA-Script” (co również nic nie daje) zastępujemy ją klasą standardową report, która jest dostępna we wszystkich dystrybucjach.
  • 46. N IV P Naprawdę minimalny stan pliku: documentclass{report} usepackage{graphicx} begin{document} includegraphics{grafika} Testowy tekst. end{document} Ale, ale. . . , to tak naprawdę nie jest minimalny przykład. Trzeba jeszcze usunąć grafikę i wykomentować pakiet graphicx.
  • 47. N V P TADAA. . . documentclass{report} %usepackage{graphicx} begin{document} rule{3cm}{4cm} Testowy tekst. end{document} Teraz już można wysłać przykład na grupę dyskusyjną.
  • 48. D ...