Tabular: Geht über Seitenrand hinaus

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabular: Geht über Seitenrand hinaus

von Achim » Mi 15. Jul 2015, 18:19

Ah, verstehe :-) Ok, cool! Wow, du bist mega! 8) :wink:

Vielen, vielen Dank!

Off Topic: Schade, dass es keinen Upvote-Button gibt!

von u_fischer » Mi 15. Jul 2015, 18:11

Auch \\ akzeptiert eine optionales Argument in eckigen Klammern. Und daher muss man manchmal LaTeX daran hindern, [ misszuverstehen. Benutze
\\ \relax [.....]

von Achim » Mi 15. Jul 2015, 17:46

Hallihallo,

hmmm, der Fehler scheint wohl etwas wo anders zu sein. Vielleicht was mit dem &, oder die eckigen Klammern? Ich versteh's nicht ... hab etwas rumprobiert, konnte aber kein Muster erkennen :-(

Wegen der Nummerierung: Wenn ich ad-hoc wüsste, wie LaTeX das richtig mit der Nummerierung machen lassen könnte, wäre ich ja offen dafür. Manuell machen scheint mir halt einfacher. Ich muss auch nur bis ca. 15 hochzählen :-)
\documentclass[a4paper, 12pt]{article}

\usepackage{array}
\usepackage{fixltx2e}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{stmaryrd}		% for evaluation brackets
%\usepackage{qtree}			% for tree design
%\usepackage{lscape} 		%for landscape mode
%\usepackage{setspace}		% line spacing
\usepackage{hyperref} % striking through words
\usepackage{ifthen}
\usepackage{enumitem} 

\newcommand{\evalleft}{\llbracket}
\newcommand{\evalright}{\rrbracket}
\newcommand{\variable}[2]{#1\textsubscript{#2}}
\newcommand{\var}[2]{#1\textsubscript{#2}}
\newcommand{\step}[1]{-- #1}

\newenvironment{deri1} 
   {\begin{enumerate}} 
   {\end{enumerate}} 
\newcommand{\deristart}[1]{\ifthenelse{\equal{#1}{}}{\item[~]\relax}{\item[(#1)~=]\relax}}


\newenvironment{evaluation}
	{$\evalleft$}
	{$\evalright$}

\newcommand{\derstart}[1]{\\ \\ (#1) &	$=$	&}

\newcommand{\type}[1]{$<$#1$>$}
\newcommand{\example}[1]{(#1)}

%================================================%

\begin{document}

\begin{deri1}
	\deristart{} first line without stuff around
	\deristart{1} second line
	\deristart{2} third line \\ with line break
	\deristart{3} long line that will eventually break after some time ... some time ... some time ... maybe ... if I wait long enough
	\deristart{4} [$\lambda$\variable{w}{b}.\variable{w}{b} is compatible with what the speaker knows in \variable{w}{0}.] \& \\ [$\lambda$\variable{w}{2}.\variable{sp}{2} $=$ \variable{h}{2}]
	\deristart{$\gamma$} [$\lambda$\variable{w}{2}.\variable{w}{2} is compatible with what the speaker knows in \variable{w}{0} \& \variable{sp}{2} $=$ \variable{h}{2}]
\end{deri1}

\end{document}
Dateianhänge
Problem als TeX
(1.71 KiB) 328-mal heruntergeladen
Problem als PDF
(32.07 KiB) 361-mal heruntergeladen

von u_fischer » Mi 15. Jul 2015, 17:21

Achim hat geschrieben: Hast du dafür auch noch eine Lösung? :-)
Hast du ein richtiges Minimalbeispiel statt irgendwelcher Codeschnipsel?

(Mir ist es übrigens ein Rätsel, warum du deine Zeilen alle per Hand nummerierst, statt LaTeX zählen zu lassen, aber wenn du dir mehr Arbeit als nötig machen willst ...)

von Achim » Mi 15. Jul 2015, 16:50

Ok, puh, nach viel hin und her hab ich's jetzt hinbekommen.

Im Environment deri1 kann ich jetzt \derstart{} oder \derstart{x} eingeben.
\newenvironment{deri1} 
   {\begin{enumerate}} 
   {\end{enumerate}} 
\renewcommand{\derstart}[1]{\ifthenelse{\equal{#1}{}}{\item[~]\relax}{\item[(#1)~=]\relax}}
Einziges Problem ist jetzt noch, dass ich keine manuellen Zeilenumbrüche machen kann, ohne dass die Zeile dann ganz vorne anfängt, anstatt nach dem Istgleich weiterzumachen
\begin{deri1}
  \derstart{1} Das ist ein ganz langer Text \\
Den man auch mal manuell umbrechen können muss.
  \derstart{2} Leider kommt der Text dann ganz am Anfang der Zeile raus :-/
\end{deri1}
Hast du dafür auch noch eine Lösung? :-)

Vielen lieben Dank schonmal!

von u_fischer » Mi 15. Jul 2015, 12:48

Achim hat geschrieben:Oh, hm, das ist ja einfach :D

Kann ich bei bestimmten Zeilen auch irgendwie noch die Beschriftung ändern? Manchmal brauche ich da z.B. ein Alpha in der Klammer statt der nächsten Zahl.
Du kannst das optionale Argument von \item nutzen:

\item[$\alpha$] blalblal

Das \relax hinter \item in meinem Code ist nur da, damit deine [...] nicht plötzlich als Beschriftung angesehen werden.
Wodurch wird da erreicht, dass es immer untereinander ausgerichtet wird? Ist das das ~ nach \arabic ?
Nein, das ist bloß für den Abstand da. Labels von Listen kann man nun mal ausrichten. Eine normale enumerate oder itemize macht es ja auch.

von Achim » Mi 15. Jul 2015, 10:58

Ja, ähm, sorry ...! Die Zeit drängt leider. Ich hätte euch schon informiert, wenn ich eine Lösung gefunden hätte :-/ Ich sitze seit Stunden dran, das Dokument richtig zu formatieren und verzweifle etwas :-(

von Johannes_B » Mi 15. Jul 2015, 10:56

Crosspost zu LaTeX-community

von Achim » Di 14. Jul 2015, 16:23

Oh, hm, das ist ja einfach :D

Kann ich bei bestimmten Zeilen auch irgendwie noch die Beschriftung ändern? Manchmal brauche ich da z.B. ein Alpha in der Klammer statt der nächsten Zahl.

Ansonsten gefällt mir die Lösung gut! Wodurch wird da erreicht, dass es immer untereinander ausgerichtet wird? Ist das das ~ nach \arabic ?

Vielen Dank nochmal!

von u_fischer » Di 14. Jul 2015, 16:13

tabular ist eine Box. Da gibt es keinen Seitenumbruch zwischen den Zeilen. Du könntest longtable nehmen, aber für mich sieht das Ganze nach einer Liste aus. Versuche es mal mit
\usepackage{enumitem}
\newenvironment{derivation}
   {\begin{enumerate}[label={\arabic*~=}]}
   {\end{enumerate}}
\newcommand{\derstart}[1]{\item\relax}
(Statt all den \derstart{x} kannst du dann auch einfach \item{} benutzen).

Nach oben