Latex - tworzenie tabel


(Szczepi 86) #1

Witam wszystkich. Nie wiem czy dział z programowanie jest najlepszy do zadania pytań o Latexa, ale nic innego mi nie pasowało. Otóż mam problem ze stworzeniem w Latexu tabeli z której chcę usunąć niektóre linie poziome. Problem polega na tym że gdy usunę linie poziome z tabeli w Latexu (tzn. usunę w kodzie \hline) to wiersze pomiędzy którymi usunąłem te linie nakładają się na siebie - tekst z kolejnych wierszy nieoddzielanych od siebie za pomocą \hline są zapisywane jedne na drugim czyniąc treść zupełnie nieczytelną... jeśli w tabeli pozostawię \hline to tabela prezentuje się poprawnie. Będę wdzięczny za wszelkie wskazówki. W internecie szukałem ale odpowiedzi nie znalazłem. Poniżej zamieszczam odpowiednie fragmenty kodu z Latexa.

Kod który mówi jakiego rodzaju dokument tworzę:

\documentclass[12pt]{report}

\usepackage[T1]{fontenc}

\usepackage{polski}

\usepackage[utf8]{inputenc}

\usepackage{graphicx}

\usepackage{amsmath,amssymb,amsfonts}

\usepackage{txfonts}


\usepackage[polish]{babel}

Kod z przykładową tabelą w której usunąłem część linii poziomych:

\begin{table}[h]

\caption{Pdpis pod tabelą}

\vspace{0.3in}

\label{tabela_1}

\begin{tabular}{|p{6.5cm}|p{6.5cm}|}

nazwa kolumny lewej & nazwa kolumny prawej \\ 

\hline

dane w lewej kolumnie & dane w prawej kolumnie \\ 

kolejne dane &inne dane \\ 

jeszcze inne dane & i tak dalej \\

\hline

\end{tabular}

\end{table}

Pomiędzy danymi zapisanymi w wierszach tabeli nie chcę mieć linii poziomych. Z czego wynika błąd?

Dziękuję za wszelkie rady.


(Jaahquubel_) #2

Dziwne. U mnie działa dobrze, zarówno z Twoim, jak i z moim nagłówkiem.

zrzut20110418151229.th.png

Jaki OS, edytor i czy masz aktualnego i kompletnego LaTeXa?


(Szczepi 86) #3

Zarówno pracując na Windows XP jak i Windows 7 pojawia mi się ten problem. Korzystam z MiKTeX 2.8 i WinSchell.


(Jaahquubel_) #4

Najnowszy to 2.9.

Ale to i tak nie wiem o co chodzi. Zylion razy robiłem tabele i nigdy problemów nie miałem.

Pracuję na Ubuntu, ale to nie powinno mieć znaczenia.

Masz w WinShellu przy kompilacji jakieś ostrzeżenia lub błędy?

Jak kompilujesz: LaTeXem, PDFLaTeXem?

Może wywal wszelkie pliki poza .tex (jakieś logi, spisy, czy co tam się jeszcze robi)?

Sprawdź czy poniższy kod (w nowym pliku .tex) daje to samo, co na zamieszczonym przez mnie zrzucie:

\documentclass[12pt]{article}

\usepackage[dvips]{graphicx,color,rotating}

\usepackage[MeX,plmath]{polski}

\usepackage[cp1250]{inputenc}

\usepackage{t1enc}

\usepackage{a4wide}

\usepackage{amsfonts}

\usepackage{amsmath}

\usepackage{enumerate}

\usepackage{verbatim}

\usepackage{geometry}

\geometry{left=20mm,right=25mm,%

bindingoffset=10mm, top=25mm, bottom=25mm}

\usepackage{amssymb, latexsym}

\usepackage{amsthm}

\usepackage{palatino}

\usepackage{array}

\usepackage{pstricks}

\usepackage{textcomp}

\usepackage{listings}

% \usepackage{hyperref}

\theoremstyle{definition}

\newtheorem{theorem}{Twierdzenie}[section]

\newtheorem{remark}{Uwaga}[section]

\newtheorem{definition}{Definicja}[subsection]

\newtheorem{alg}{Algorytm}[section]

\newtheorem{prz}{Przypadek}[section]

\newtheorem{np}{Przykład}[section]

\newtheorem{lemma}[theorem]{Lemat}

\linespread{1.5}

\newcommand*{\norm}[1]{\left\Vert{#1}\right\Vert}

\newcommand*{\abs}[1]{\left\vert{#1}\right\vert}

\newcommand*{\om}{\omega}



\begin{document}


%Zażółć gęślą jaźń.

\begin{table}[h]

\caption{Podpis pod tabelą}

\vspace{0.3in}

\label{tabela_1}

\begin{tabular}{|p{6.5cm}|p{6.5cm}|}

\hline

nazwa kolumny lewej & nazwa kolumny prawej \\ 

dane w lewej kolumnie & dane w prawej kolumnie \\ 

kolejne dane &inne dane \\ 

jeszcze inne dane & i tak dalej \\

\hline

\end{tabular}

\end{table}


\end{document}

(Szczepi 86) #5

Mam błędy kompilacji związane z stosowaniem języka polskiego, ale wątpię by miały one znaczenie przy tworzeniu tabel. Błędy to pokazane są poniżej:

\..\..\..\Program Files\MiKTeX 2.8\tex\latex\polski\polski.sty(94): Błąd: Package polski Error: No hyphenation patterns for language `polish'.

\..\..\..\Program Files\MiKTeX 2.8\tex\generic\babel\polish.ldf(209): Błąd: Missing number, treated as zero.

praca.aux(3): Błąd: Package babel Error: You haven't defined the language polish yet.

To jedyne błędy jakie się pokazują. Poza tym są 4 ostrzeżenia, 54 przepełnione pudełka, 6 niedopełnionych pudełek.


(Jaahquubel_) #6

To jak masz taki groch z kapustą w tym dokumencie, to może się dziać wszystko.

Sprzątnij najpierw dowolną metodą temat języka polskiego (w kodzie z poprzedniego postu masz pokazane jak ja to robię). Ewentualnie wyprostuj też ostrzeżenia. Potem dopiero zobacz co się dzieje z tabelą.

W razie czego, jeśli chcesz, wrzuć tu lub przyślij mi na tlenowego maila ten swój plik, to razem go rozpracujemy.


(Szczepi 86) #7

A zdradzisz mi jeszcze czym są te "przepełnione pudełka" i "niedopełnione pudełka"?


(Jaahquubel_) #8

Sam tego dobrze nie opiszę, lepiej zobacz tutaj:

http://www-stary.gust.org.pl/e-learning/latex/rlo5.html#d0e2676

http://matrix.umcs.lublin.pl/~lbocian/Studia/Pracownia_magisterska/Marek_Dominiak/prezentacja.pdf

Powodem powstania przepełnionego pudełka może być coś wystającego za koniec linii, np. za długie równanie, wzór, niełamliwy, kłopotliwy wyraz.

Natomiast pudełko niedopełnione to pewnie jakiś znak końca linii:

\\

wstawiony na chama. Czasem pomaga wstawienie niełamliwej spacji:

~

przed tym końcem.

Tyle mogę podpowiedzieć bez patrzenia w kod.


(Krystian Rosinski) #9

@szczepi_86

Ten fragment kodu kompiluje się bezbłędnie:

\documentclass[12pt,a4paper]{article}

\usepackage[utf8x]{inputenc}

\usepackage[T1]{fontenc}

\usepackage[polish]{babel}


\begin{document}


\begin{table}

	\caption{Podpis pod tabelą}

	\vspace{0.3in}

	\begin{tabular}{|p{6cm}|p{6cm}|}

		\hline

		nazwa kolumny lewej & nazwa kolumny prawej \\ 

		dane w lewej kolumnie & dane w prawej kolumnie \\ 

		kolejne dane & inne dane \\ 

		jeszcze inne dane & i tak dalej \\

		\hline

	\end{tabular} 

\end{table}


\end{document}

i produkuje taką tabelę KsmJK.png


(Szczepi 86) #10

@iluzion

Skopiowałem Twój fragment kodu i u mnie on niestety kompiluje się dając wspominany przeze mnie na początku niepożądany efekt. Dochodzę więc do wniosku, że to nie jest problem błędnie zapisanego kodu, ale być może jakiś błąd środowiska w którym pracuje (WinSchell), albo jakaś inna niezbadana kwestia. Co do Twojego pytania o kodowanie to sprawdziłem i w ustawieniach mam wybrane kodowanie UTF-8.

Nie ma więc chyba sensu żebym podawał Wam kod mojego dokumentu skoro u was kompiluje się wszystko bezbłędnie, a wasze poprawne kody u mnie kompilują się tworząc błędną tabelę....

Eh...

Może sprawdzę jeszcze ten Texmaker o którym piszesz. W tym programie nie pracowałem i być może jego "wizard" związany z tabelami pozwoli rozwiązać mój problem.


(Jaahquubel_) #11

Wizard guzik Ci da. Wizardem po prostu wyklikasz to, co już teraz masz w kodzie.

Nie Winschell, tylko WinShell.

Oczywiście możesz zainstalować TeXmakera albo TeXnicCenter. Ale każdy z nich to tylko edytor, który nie ma nic do gadania, bo to nie on kompiluje (no OK, ewentualnie może inne parametry do kompilatora wysyłać, a wtedy to może mieć znaczenie). Na WinShellu wczoraj sprawdzałem ten Twój kod i działało dobrze.

Jeśli masz UTF-8 (a to też istotne), to dobrze. Czy dalej polskie znaki się sypią?

Jeśli nawet taki uproszczony kod Ci się wywala, to spróbuj aktualizacji MikTeXa do 2.9. Bo to ze środowiskiem masz coś nie tak, a nie z edytorem.

Tak czy kwak, byłbym za tym, żeby przejrzeć ten Twój kod. :smiley: