Hallo Liste, ich möchte ein LaTeX Dokument schreiben, wo mehere gleichartige aber nicht gleiche Tabellen auftauchen. Daß heißt, die Spalten sind die selben, aber die Einträge sind andere. Wenn mehere Tabellen auf einer Seite stehen, dann stimmen die Breiten der einzelnen Spalten nicht überein, und das sieht beschissen aus. Gibt es da andere Möglichkeiten der Lösung denn fixer Breiten? Bernd --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernd, Am Fre, 04 Aug 2000 schrieb Bernd Brodesser:
ich möchte ein LaTeX Dokument schreiben, wo mehere gleichartige aber nicht gleiche Tabellen auftauchen. Daß heißt, die Spalten sind die selben, aber die Einträge sind andere. Wenn mehere Tabellen auf einer Seite stehen, dann stimmen die Breiten der einzelnen Spalten nicht überein, und das sieht beschissen aus. Gibt es da andere Möglichkeiten der Lösung denn fixer Breiten?
Vielleicht hilft Dir das weiter: \begin{tabular}{| p{2cm} p{3cm} |} Test & Test \\ \end{tabular} Das ist zwar feste Breite, gibt allerdings Blocksatz aus. MfG Bernhard -- ---- L I N U X ---- Während andere noch neu starten, wird mit Linux schon gearbeitet. Homepage: <http://www.linuxinfopage.de> Registrierter User: # 171705 <http://counter.li.org> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Bernd Brodesser wrote:
Hallo Liste,
ich möchte ein LaTeX Dokument schreiben, wo mehere gleichartige aber nicht gleiche Tabellen auftauchen. Daß heißt, die Spalten sind die selben, aber die Einträge sind andere. Wenn mehere Tabellen auf einer Seite stehen, dann stimmen die Breiten der einzelnen Spalten nicht überein, und das sieht beschissen aus. Gibt es da andere Möglichkeiten der Lösung denn fixer Breiten?
Bernd
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernd, ich arbeite nicht viel mit LaTeX, aber versuch einmal \hspace{ncm}, wobei n die gewünschte Spaltenbreite ist. Gruß Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Thomas Fick schrieb am 04.Aug.2000:
Bernd Brodesser wrote:
ich möchte ein LaTeX Dokument schreiben, wo mehere gleichartige aber nicht gleiche Tabellen auftauchen. Daß heißt, die Spalten sind die selben, aber die Einträge sind andere. Wenn mehere Tabellen auf einer Seite stehen, dann stimmen die Breiten der einzelnen Spalten nicht überein, und das sieht beschissen aus. Gibt es da andere Möglichkeiten der Lösung denn fixer Breiten?
ich arbeite nicht viel mit LaTeX, aber versuch einmal \hspace{ncm}, wobei n die gewünschte Spaltenbreite ist.
Hallo Leute, danke für Eure Tipps, aber ich habe mich wohl nicht deutlich ausgedrückt, ich wollte gerade keine fixe Spaltenbreite angeben, da ich auch eine html-Version mit latex2html erstellen möchte. Und es darf auf keinen Fall in einer Zeile umgebrochen werden. Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernd, Bernd Brodesser wrote:
danke für Eure Tipps, aber ich habe mich wohl nicht deutlich ausgedrückt, ich wollte gerade keine fixe Spaltenbreite angeben, da ich auch eine html-Version mit latex2html erstellen möchte. Und es darf auf keinen Fall in einer Zeile umgebrochen werden.
Sehe ich das nun richtig: Du moechtest eine LaTeX-Tabelle, die immer (mehr oder weniger) gleich aussieht, aber das alles ohne feste Spaltenbreiten zu vergeben? Ausserdem soll kein Zeilen- umbruch stattfinden. Das wird ein wenig schwierig zu realisieren sein. Es gibt die Moeglichkeit, das die Tabelle eine bestimmte Breite hat und die Spaltenbreiten aus der Gesamtbreite der Tabelle automatisch berechnet werden. Dazu kannst Du z.B. das Paket "tabularx" verwenden: \usepackage{tabularx} ... \newcolumntype{P}{>{\small\raggedright\arraybackslash}X} ... \begin{tabularx}{100mm}{|P|P|P|}\hline ... Eine weitere Definition, die Dir vielleicht weiterhelfen koennte, waere: \usepackage{tabularx} ... \tracingtabularx % Ausgabe von Formatierungsoptionen \begin{tabularx}{\linewidth}% {|>{\setlength{\hsize}{.7\hsize}}X|% >{\setlength{\hsize}{1.3\hsize}}X|}\hline ... Und zu guter letzt die Definition einer neuen Umgebung, tabc genannt, die eine Tabelle mit fester Anzahl von Spalten gleicher Breite und einer vorgegebenen Gesamtbreite erzeugt: \usepackage{calc} ... \let\pbs=\PreserveBackslash \newlength{\tmplength} \newenvironment{tabc}[1] {% \setlength{\tmplength}{\linewidth/(#1) - \tabcolsep*2 - \arrayrulewidth*(#1+1)/(#1)}% \par\begin{tabular*}{\linewidth}% {*{#1}{|>{\pbs\raggedright\hspace{0pt}}% p{\the\tmplength}}|}% } {\end{tabular*}\par} Eine 4-spaltige Tabelle kann dann einfach mit "\begin{tabc}{4} \hline" gesetzt werden. In wie weit allerdings latex2html die ganzen Definitionen verstehen wird, kann man schlecht sagen... :-)) Naja, vielleicht hilft es ja ein wenig weiter oder bringt Dich wenigstens auf neue Ideen. Gruesse aus KA Thomson -- Dipl.-Geophys. Thomas Hertweck Geophysical Institute, Karlsruhe University eMail: ubtj@rz.uni-karlsruhe.de Linux is like a wigwam - no windows, no gates, apache inside --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Thomas Hertweck wrote: [...]
Das wird ein wenig schwierig zu realisieren sein. Es gibt die Moeglichkeit, das die Tabelle eine bestimmte Breite hat und die Spaltenbreiten aus der Gesamtbreite der Tabelle automatisch berechnet werden. Dazu kannst Du z.B. das Paket "tabularx" verwenden:
\usepackage{tabularx} ... \newcolumntype{P}{>{\small\raggedright\arraybackslash}X} ... \begin{tabularx}{100mm}{|P|P|P|}\hline ... [...] Hier ist aber, wie Thomas richtigerweise anmerkt, die Breite der Tabelle vorgegeben, und damit auch die der Spalten.
Wenn ich Bernd richtig verstanden habe, will er jedoch, dass die Breiten der Spalten abhängig vom Inhalt gesetzt werden _UND_ bei mehreren Tabellen auf einer Seite bei allen Tabellen gleich gesetzt werden. Das setzt aber letztlich voraus, dass LaTeX beim Setzen der ersten Tabelle einer Seite weiss, wie breit die Spalten bei den folgenden Tabellen werden. Aufgrund der Arbeitsweise von LaTeX wird jedoch klar, dass das nicht so ganz trivial ist. Was kommt denn als Text zwischen den Tabellen? Ist der Standort der Tabellen fest, oder sollen es Gleitumbegungen sein? Wenn der Text, der zwischen den Tabellen steht, immer der gleiche ist, wäre u.u. eine Lösung mit longtable oder supertabular möglich, bei dem der Text ebenfalls in der Tabelle steht, zum Beispiel in einem multicolumn über alle Spalten. Das wirft jedoch eine Reihe von Problemen auf. Unter anderem klappt kein Seitenumbruch innerhalb einer Tabellenzeile, sondern immer nur dazwischen. Damit ist aber normaler Fließtext nicht mehr unbedingt möglich. Wie gesagt, es hängt halt davon ab, was da so dazwischen steht. Alternative: Zunächst die Tabellen unabhängig von einander setzen, damit man weiss, welche Tabelle auf welcher Seite steht. Dann kann man auf jeder Seite mit mehreren Tabellen eine Bild erzeugen, dass so groß ist, wie die erste Tabelle. Das Bild enthält dann _eine_ Tabelle, die den Inhalt aller Tabellen der Seite enthält. Und dann baut man einfach so große Zeilenabstände ein, dass die anderen Tabellen dort liegen, wo sie hingehören (Dort muss dann natürlich ebenfalls genug Platz eingebaut werden). Aber auch hier gilt: Da ist ziemlich viel Handarbeit angesagt, und wenn am Text etwas geändert werden muss, kann das die Gesamte Positionierung der Tabellen zerschießen. Eine einfachere Alternative sehe ich jedoch nicht. Zumindest, wenn man an den beiden Bedingungen (gleiche Breite in unterschiedlichen Tabellen und dynamische Breite) festhält. Heiner -- Heiner Lamprecht Philosophenweg 79 D - 72076 Tuebingen email: heiner@kijumfo.de http://www.kijumfo.de GnuKontor: http://agenda21.ggi.uni-tuebingen.de/heiner/gk/ KFLog: http://agenda21.ggi.uni-tuebingen.de/heiner/kflog/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Heiner, * Heiner Lamprecht schrieb am 06.Aug.2000:
Wenn ich Bernd richtig verstanden habe, will er jedoch, dass die Breiten der Spalten abhängig vom Inhalt gesetzt werden _UND_ bei mehreren Tabellen auf einer Seite bei allen Tabellen gleich gesetzt werden.
So ist es.
Das setzt aber letztlich voraus, dass LaTeX beim Setzen der ersten Tabelle einer Seite weiss, wie breit die Spalten bei den folgenden Tabellen werden. Aufgrund der Arbeitsweise von LaTeX wird jedoch klar, dass das nicht so ganz trivial ist.
Ja, daß habe ich befürchtet.
Was kommt denn als Text zwischen den Tabellen?
Eigentlich nur eine Tabellenüber und -unterschrift. Das kann man auch als Bestandteil der Tabelle machen.
Ist der Standort der Tabellen fest, oder sollen es Gleitumbegungen sein?
Soll fest sein.
Wenn der Text, der zwischen den Tabellen steht, immer der gleiche ist, wäre u.u. eine Lösung mit longtable oder supertabular möglich, bei dem der Text ebenfalls in der Tabelle steht, zum Beispiel in einem multicolumn über alle Spalten. Das wirft jedoch eine Reihe von Problemen auf. Unter anderem klappt kein Seitenumbruch innerhalb einer Tabellenzeile,
Soll auch nicht.
sondern immer nur dazwischen. Damit ist aber normaler Fließtext nicht mehr unbedingt möglich. Wie gesagt, es hängt halt davon ab, was da so dazwischen steht.
Wie gesagt nicht viel. Wichtig ist aber auch, daß es keinen Seitenumbruch innerhalb einer Tabelle gibt. Gibt es normalerweise auch nicht. Aber bei der Verwendung von Supertabular oder so, könnte es sein.
Alternative: Zunächst die Tabellen unabhängig von einander setzen, damit man weiss, welche Tabelle auf welcher Seite steht. Dann kann man auf jeder Seite mit mehreren Tabellen eine Bild erzeugen, dass so groß ist, wie die erste Tabelle. Das Bild enthält dann _eine_ Tabelle, die den Inhalt aller Tabellen der Seite enthält. Und dann baut man einfach so große Zeilenabstände ein, dass die anderen Tabellen dort liegen, wo sie hingehören (Dort muss dann natürlich ebenfalls genug Platz eingebaut werden).
Nein, es sollte schon ohne Handarbeit sein, da es keien einmalige Angelegenheit ist.
Aber auch hier gilt: Da ist ziemlich viel Handarbeit angesagt, und wenn am Text etwas geändert werden muss, kann das die Gesamte Positionierung der Tabellen zerschießen. Eine einfachere Alternative sehe ich jedoch nicht. Zumindest, wenn man an den beiden Bedingungen (gleiche Breite in unterschiedlichen Tabellen und dynamische Breite) festhält.
Ist es nicht möglich, die Breite einer Tabellenspalte zu ermitteln? Automatisch meine ich. Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernd, Bernd Brodesser wrote: Ich glaube das Thema wir so langsam OT, wir sollten uns als auf PM zurueckziehen. Zunaechst mal noch was grundsaetzliches: Solche Themen sind eher was fuer die TeX-Liste. Guck mal bei Dante nach, da findest du sicher Archiv und Anmeldebeschreibung. Ausserdem ist es ohnehin ratsam bei solchen Problmen mal bei Dante zu stoebern.
Hallo Heiner,
* Heiner Lamprecht schrieb am 06.Aug.2000:
Das setzt aber letztlich voraus, dass LaTeX beim Setzen der ersten Tabelle einer Seite weiss, wie breit die Spalten bei den folgenden Tabellen werden. Aufgrund der Arbeitsweise von LaTeX wird jedoch klar, dass das nicht so ganz trivial ist.
Ja, daß habe ich befürchtet.
Hmm, es koennte noch eine Loesung geben. Schau dir mal die tabbing Umgebung an. Da kannst du Tabulatoren setzen. Da gibt es so lustige Dinge wie blinde Zeilen, die nur die Tabulatoren setzen, aber die Zeile selbst ist nicht sichtbar. Ausserdem kannst du die Tabulatoren freier anwenden, also auch mal Zeilen ohne Tabs schreiben. Schwieriger wird es allerdings, wenn zwischen die Zeilen/Spalten Linien sollen, denn das ist dann wieder Handarbeit.
Nein, es sollte schon ohne Handarbeit sein, da es keien einmalige Angelegenheit ist.
Koenntes du mal den Inhalt der Tabellen und so beschreiben - vielleicht gibt es noch alternative Loesungsansaetze?
Ist es nicht möglich, die Breite einer Tabellenspalte zu ermitteln? Automatisch meine ich.
AFAKI nein. Ich werde am Dienstag aber mal auf dem TeX-Stammtisch fragen. :-) Tschuess, Jan --
Jan Theofel * mailto: jan@theofel.de * http://www.theofel.de/ <<<
Check AniTMT, a free software to create photorealistic animations: German: http://www.anitmt.de/ English: http://www.anitmt.org/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, Jan Theofel wrote:
Bernd Brodesser wrote:
[..] Zunaechst mal noch was grundsaetzliches: Solche Themen sind eher was fuer die TeX-Liste. Guck mal bei Dante nach, da findest du sicher Archiv und Anmeldebeschreibung. Ausserdem ist es ohnehin ratsam bei solchen Problmen mal bei Dante zu stoebern.
bzw. news:de.comp.text.tex
Hmm, es koennte noch eine Loesung geben. Schau dir mal die tabbing Umgebung an. Da kannst du Tabulatoren setzen. Da gibt es so lustige Dinge wie blinde Zeilen, die nur die Tabulatoren setzen, aber die Zeile selbst ist nicht sichtbar. Ausserdem kannst du die Tabulatoren freier anwenden, also auch mal Zeilen ohne Tabs schreiben.
Geht IIRC auch bei tabular mit: <Zeilendefinition>\kill
Koenntes du mal den Inhalt der Tabellen und so beschreiben - vielleicht gibt es noch alternative Loesungsansaetze?
Dem schliesse ich mich an! Evtl. kann man ja auch was zusammenhacken, es gibt ja schon Konstrukte (in array/longtable/supertabular ?) die die breiteste Zeile bestimmen und diese dann im naechsten Durchgang verwenden... Das dann in der Zeile mit \kill unterbringen und es koennte klappen.
Ist es nicht möglich, die Breite einer Tabellenspalte zu ermitteln? Automatisch meine ich.
.o. Weiteres per CCs, wuerde ich mal sagen ;) Ich erlaube mir mal, eine mini-CC-ML zu kreieren... Bitte entfernt das CC an die Liste! CU David -- Auch wenn ich an Wunder glaube, auf eine Verbesserung bei der nächsten OE Version zu hoffen, wäre wohl zuviel erwartet. [Sylvia Berger in de.newusers.questions] --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Bernd, On Fri, 04 Aug 2000, Bernd Brodesser wrote:
[LaTeX Tabellen mit fixer Spaltenbreite]
.... \usepackage{array} .... \begin{tabular}{|p{2cm}|p{2cm}|}\hline bzw. \begin{tabular}{|m{2cm}|m{2cm}|}\hline bzw. \begin{tabular}{|b{2cm}|b{2cm}|}\hline .... je nachdem, wie der Inhalt ausgerichtet werden soll. Sehr zu empfehlen (allerdings nur fuer Fortgeschrittene, nicht fuer Neulinge bei LaTeX): Der LaTeX Begleiter; M. Goosens, F. Mittelbach, A. Samarin; Addison-Wesley ca. 80DM Gruesse aus KA Thomson -- Dipl.-Geophys. Thomas Hertweck Geophysikalisches Institut, Universitaet (TH) Karlsruhe Email: ubtj@rz.uni-karlsruhe.de Linux is like a wigwam - no windows, no gates, apache inside! --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (7)
-
B.Brodesser@online-club.de
-
Bernhard.Walle@gmx.de
-
David@dhaller.de
-
heiner@kijumfo.de
-
jan@theofel.de
-
ThFick@thofi-lich.de
-
ubtj@rz.uni-karlsruhe.de