Hi,
...weil ich die Diskussion gerade lese: Ich versuche verzweifelt eine Tabelle zu erstellen, wobei in einer Spalte eine nummerierte Liste erscheinen soll. Er will das mit \begin{enumerate}...\end{...} nicht (genaue Meldung kann ich posten, wenn's wichtig ist). Ausserdem muss er fuer diese Liste auch den Text entsprechend umbrechen und formatieren, weil u.U. sehr lang.
Tipps?
bye, Rocco
Probiere mal 'listliketab' aus. In der Datei listliketab.pdf solltest Du eine Dokumentation finden. Falls das Paket nicht installiert ist, schau auf http://www.dante.de/cgi-bin/ctan-index mit Hilfe der Suchmaske nach.
Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Hi,
* Stefan Lagotzki [02-07-13 18:36:47 +0200] wrote:
Probiere mal 'listliketab' aus.
Damit kann ich innerhalb einer Liste mehrspaltigen Text machen. 'tabular' ist innerhalb von 'listliketab'. Ich brauche das genau andersherum, also 'enumerate' innerhalb von 'tabular':
\begin{tabular}{||c|l||} \hline Text & Liste \ \hline foobar & \begin{itemize} \item ... \end{itemize} \ \hline \end{tabular}
... zum Beispiel, damit in Spalte 'Liste' der Text schoen formatiert als nummerierte Liste erscheint. Mit 'listliketab' muesste ich innerhalb von 'tabular' ein 'listliketab' und dorthinein wieder ein 'tabular' schachteln.
Oder verstehe ich die Beispiele nur flasch?
bye, Rocco
Hallo Rocco,
eine Aufzaehlung ist doch auch nichts anderes als eine Liste. In meiner Version der Doku ist ein Beispiel mit einer Aufzaehlung enthalten und ich hab das in abgewandelter Form auch schon in meinen Dokumenten verwendet.
Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Hallo Rocco,
nach dem Mittag liest es sich anders :-) ich vermute, Du willst in jede Tabellenzeile die Nummer der Zeile als Ordnungszahl oder laufende Nummer setzen. Das angehaengte Codeschnipsel sollte funktionieren. Eine Sache noch: zur Verschoenerung der Tabellen kann man 'booktabs' verwenden (das stellt zum Beispiel Kopf-, Hals- und Fuszlinie zur Verfuegung). Und man sollte senkrechte Linien vermeiden - das Auge stoesst sich beim Lesen daran.
mit freundlichen Gruessen Stefan
%% cut here %%
%% einen neuen Counter einrichten: \newcounter{tabzeile}
%% diesen Counter auf den Wert Null setzen: \setcounter{tabzeile}{0}
%% ein Makro fuer eine Nummer ohne Punkt. %% Anwendung: %% einfach \tzn in jede Zeile setzen. \newcommand{\tzn}% {\stepcounter{tabzeile}\thetabzeile}
%% ein Makro fuer eine Nummer mit Punkt. %% Anwendung: %% einfach \tznp in jede Zeile setzen. \newcommand{\tznp}% {\stepcounter{tabzeile}\thetabzeile.~}
%% Beispiel 1 \begin{tabular}{r l} \hline Nummer & Text \ \hline \tzn & eins \ \hline \tzn & zwei \ \hline \tzn & drei \ \hline \end{tabular}
\vspace{2ex}
%% Beispiel 2 %% fuer eine neue Tabelle sollte man den %% Counter wieder auf Null setzen :-)
\setcounter{tabzeile}{0} \begin{tabular}{r l} \hline Nummer & Text \ \hline \tznp & erstens \ \hline \tznp & zweitens \ \hline \tznp & drittens \ \hline \end{tabular}
%%
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Hi,
* Stefan Lagotzki [02-07-14 14:21:11 +0200] wrote:
nach dem Mittag liest es sich anders :-)
Wenn's lecker war kann ich mir das gut vorstellen. ;-)
ich vermute, Du willst in jede Tabellenzeile die Nummer der Zeile als Ordnungszahl oder laufende Nummer setzen.
Nein. Um das Anwendungsbeispiel zu nennen: eine Musik-"Datenbank". Ich habe jede Menge Spalten mit Infos zur Platte und will in einer Spalte gern alle Stuecke als nummerierte Liste haben (die laufende Nummer mache ich per Skript). Weil der Name des Stueckes u.U. auch fuer Querformat zu lang ist, soll das nummeriert und ordentlich formatiert umgebrochen werden. Also fuer jede Tabellen- zeile in Spalte n eine eigenstaendige enumerate-Umgebung:
Nr. | Kuenstler | ... | Stuecke ----+---------------+-----+-------------------- 001 | foo & friends | ... | 01. stueck 1 | | | 02. stueck 2 | | | 03. stueck 3 mit | | | richtig langem | | | namen | | | 04. stueck 4 ----+---------------+-----+-------------------- 002 | friends & foo | ... | 01. stueck 1 | | | 02. stueck 2 | | | 03. stueck 3 mit | | | richtig langem | | | namen | | | 04. stueck 4 ----+---------------+-----+--------------------
usw. Wie gesagt, in Spalte 'Nr.' kommt die Zahl per Hand rein, nur in 'Stuecke' will ich das automatisch machen lassen. Und eben bei der enumerate-Umgebung in der Spalte meckert er (er sagt mir hinter \item, dass wohl ein \item fehle).
Eine Sache noch: zur Verschoenerung der Tabellen kann man 'booktabs' verwenden (das stellt zum Beispiel Kopf-, Hals- und Fuszlinie zur Verfuegung).
Gucke ich mir mal an.
Und man sollte senkrechte Linien vermeiden - das Auge stoesst sich beim Lesen daran.
Ich habe 8 Spalten in Querformat. Da brauche ich ohne senkrechte Linien zu lange, um mir einen Ueberblick zu verschaffen. Ausserdem wird die Tabelle ein paar 100 Seiten lang, weshalb ich das uebersichtlicher finde.
bye, Rocco
Am Sonntag, 14. Juli 2002 14:35 schrieb Rocco Rutte: <------ schnipp ------>
Nr. | Kuenstler | ... | Stuecke ----+---------------+-----+-------------------- 001 | foo & friends | ... | 01. stueck 1
| | | 02. stueck 2 | | | 03. stueck 3 mit | | | richtig langem | | | namen | | | 04. stueck 4
<------ schnapp ------>
Das geht mit: \begin{tabular}{l l p{8cm}} a & b & \begin{enumerate} \item blah \item bloh \item bluh \end{enumerate} \ \end{tabular} Dabei gibt es zwei Probleme. Erstens musst du die Spaltenbreite vorgeben und zweitens fügt enumerate Freiraum davor und dahinter ein. Evenuell kann das mit \vspace bzw. durch Veränderung einiger Parameter korrigieren. Die folgenden Längen können von Interesse sein, da der Abstand der Liste von oben/unten \topsep+\parskip [+\partopsep] beträgt. \topsep...vertikaler Freiraum zusätzlich zum normalen \parskip \partopsep... zusätzlicher Freiraum wenn eine Leerzeile vor oder nach der Liste ist. \parskip... elastischer Abstand zwischen zwei Absätzen (Der Abstand zwischen zwei Listeneinträgen beträgt \itemsep + \parsep)
Jens Weiße
[vertikaler Abstand]
Genau auf das Problem war ich auch gestossen und ich hab alle Abstaende ausprobiert - die Aufzaehlung steht zu weit unten. Mit \vspace{-4ex} (oder etwas mehr) kann man es einjustieren.
Mein anderer Ansatz ist mit einer geschachtelten Tabelle konstruiert. Schaut es Euch mal an, bei mir laeuft es. Da es ein reiner ASCII-Text ist, darf man es wohl hier posten :-)
Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
\documentclass[11pt,a4paper]{article} \usepackage{array}
\begin{document}
%% einen neuen Counter einrichten: \newcounter{tabzeile}
%% diesen Counter auf den Wert Null setzen: \setcounter{tabzeile}{0}
%% ein Makro fuer eine Aufzaehlung in einer Tabelle. %% Anwendung: %% einfach \tznp in jede Zeile setzen. \newcommand{\tznp}% {\centering \stepcounter{tabzeile}\thetabzeile.~}
\begin{tabular}{m{2cm} | p{7cm}} \hline Nummer & Titel \ \hline
\setcounter{tabzeile}{0} 001 & \begin{tabular}{m{1cm} p{5cm}} \tznp & Ein ganz langer Titel aus der CD 001. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \end{tabular} \ \hline
\setcounter{tabzeile}{0} 002 & \begin{tabular}{m{1cm} p{5cm}} \tznp & Ein ganz langer Titel aus der CD 002. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein weiterer langer Titel aus der selben CD. \ \tznp & Ein letzter langer Titel aus dieser CD. \ \end{tabular} \ \hline \end{tabular} \end{document}
Hi,
* Stefan Lagotzki [02-07-14 18:56:31 +0200] wrote:
Mein anderer Ansatz ist mit einer geschachtelten Tabelle konstruiert. Schaut es Euch mal an, bei mir laeuft es. Da es ein reiner ASCII-Text ist, darf man es wohl hier posten :-)
Sieht gut aus, bis auf ein was: jetzt richtet er mir die anderen Spalten um Zeilenende aus, wo sie nicht hingehoeren ;-((
bye, Rocco [bald kapitulierend...]
Es ist wohl doch besser, wenn Du ein Minimal- beispiel an Deine Mail anhaengst, damit man sich den Code mal ansehen kann. Falls es zu gross ist, mach es irgendwo downloadfaehig. Ich kann mir momentan nicht vorstellen, wie diese Loesung eine andere Spalte beeinflussen soll. Ich schau es mir morgen mal an.
Schade, dass das \enumerate so weit nach unten versetzt wird. Ich denke, dafuer muesste man wahrscheinlich in die Klasse eingreifen.
viele Gruesse Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Am Sonntag, 14. Juli 2002 20:01 schrieb Stefan Lagotzki:
Schade, dass das \enumerate so weit nach unten versetzt wird. Ich denke, dafuer muesste man wahrscheinlich in die Klasse eingreifen.
Die Datei enumerate.sty enthält nichts passendes zum Thema. Oder ich bin zu blöd ;-(
Latex bietet auch die Möglichkeit zur Definition einer eigenen Listenumgebung. \begin{list}{Standardmarke}{Listenerklärung} Aufzählungstext \end{list}
Für Bild 1: fjhjkhfjhajhf Bild 2: fafhdfhjahjh Bild 3: jkfjajdkjfkdkjf
könnte man zum Beispiel
\newcounter{zaehler} \begin{list}{ \textbf{Song \arabic{zaehler}: } }{ % \usecounter{zaehler} \vspace{-4ex} % nach oben schieben (Augenmaß) \setlength{\parsep}{0.5ex plus0.2ex minus0.1ex} \setlength{\itemsep}{0ex plus0.2ex minus0.2ex} } % Ende der Listenerklärung \item hfahfhjfhjkah \item fshfhakhfhajkh \item ffffsfdafhj \end{list}
verwenden. Zur Erklärung:
---------------------------------------------------------- viel Text, ................. noch mehr Text,................. viel Text, ................. noch mehr Text,................. ---------------------------------------------------------- ^ | \topsep + \parskip [ + \partosep ]
Marke 1234556 : <- \labelsep -> XXXXXXXXXXXXXXXXXXX <- \labelwidth -> XXXXXXXXXXXXXXXXXXXXXXXXX <------- \leftmargin--------->XXXXXXXXXXXXXXXXXXXXXXXXX --->-----------<.-----\itemsep ^ \parsep |
\listparident ---->----------------<XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX ^ \itemsep + \parsep | Marke 1234557 : XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX
\topsep + \parskip [ + \partosep ]
-------------------------------------------------------------------------- .................. nachfolgender Text ...................
So richtig schön ist die ASCI-Darstellung zwar nicht, vielleicht hilft sie trotzdem.
Jens Weiße
Hallo Jens,
das 'enumerate'-Paket ist schon wieder etwas anderes. Man kann auch ohne dieses Paket Nummerierungen setzen. 'enumerate' bietet lediglich weitere Moeglichkeiten der Formatierung.
Die Moeglichkeiten der Listen-Umgebung sind wirklich sehr gross, aber offenbar ist ueberall dieser negative Abstand einzuziehen. Ich hab wirklich versucht, all diese Variablen auf Null zu setzen, aber es funktioniert nicht. Wahrscheinlich steht irgendwo in den Basisklassen, dass vor jeder Liste ein Abstand zu lassen ist.
Rocco wird sich dann entscheiden muessen, welche Version er bevorzugt. Die Loesung mit der Untertabelle kann ja auch beliebig umformatiert werden.
Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
Hi,
* Stefan Lagotzki [02-07-14 20:04:59 +0200] wrote:
Es ist wohl doch besser, wenn Du ein Minimal- beispiel an Deine Mail anhaengst, damit man sich den Code mal ansehen kann. Falls es zu gross ist, mach es irgendwo downloadfaehig. Ich kann mir momentan nicht vorstellen, wie diese Loesung eine andere Spalte beeinflussen soll. Ich schau es mir morgen mal an.
So wie in deinem Beispiel. Das .dvi-File sieht bei dir vielleicht anders aus, aber wenn ich dein Beispiel durch LaTeX schicke, kommt eine Tabelle raus, wo die Zahlen in der linken Spalte ('001' und '002') nicht am oberen Rand der Zelle sondern mittig stehen. Und genau das wuerde ich gern abschalten.
Zwischen meinen Beispielen und deinem besteht da nicht wirklich ein Unterschied, aber ich kann auch ein .tex- und .dvi-Beispiel ins Netz stellen.
Schade, dass das \enumerate so weit nach unten versetzt wird. Ich denke, dafuer muesste man wahrscheinlich in die Klasse eingreifen.
Keine Ahnung, aber es sieht auch jetzt gut aus. Bis auf die mittige Ausrichtung halt.
bye, Rocco
Hallo Rocco,
man kann \enumerate in Tabellen verwenden, allerdings geht das nur in einer p{} - Spalte (also eine Spalte, die jeweils pro Zelle einen Absatztext beinhaltet).
Beispiel:
\begin{tabular}{r p{6cm}}
Die Angabe der Spaltenbreite ist obligatorisch. In der rechten Spalte kann man dann \enumerate verwenden. Es laesst aber einen vertikalen Abstand zum oberen Rand der Zeile. Die Variablen der ueblichen Abstaende habe ich schon durchprobiert, da aendert sich nichts.
Eine Loesung besteht darin, \vspace mit einem negativen Wert zu verwenden... das ist aber eine Loesung, die mir nicht richtig gefaellt.
Stefan
.
__________________________________________________ Do You Yahoo!? Yahoo! Autos - Get free new car price quotes http://autos.yahoo.com
lug-dd@mailman.schlittermann.de