\newcommand mit Tabelle

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: \newcommand mit Tabelle

von KOMA » Do 30. Apr 2009, 10:14

Sinnfrei ist das keineswegs. Du definierst damit schlicht das erste (und einzige) Argument als optionales Argument mit dem voreingestellten Wert »2«. Das ist nur in dem Fall nicht, was Du haben willst.

Ich würde dafür übrigens keine Tabelle verwenden, sondern eine labeling-Umgebung (gibt es bei jeder KOMA-Script-Klasse oder mit dem Paket scrextend). Die hat dann beispielsweise den Vorteil, dass sie einen Seitenumbruch erfahren kann. Die ganzen Linien (vor allem die vertikalen) sind ja ohnehin eher unsinnig und typografisches Grauen. Die würde ich also ganz schnell loswerden. Falls ein Rahmen um die ganze Aufgabe soll (finde ich auch nicht gut), kann ich das Paket framed empfehlen.

von Schnapphase » Mi 29. Apr 2009, 23:54

Ich habs grad selbst rausgefunden...

\newcommand ... [1][2] ist natürlich sinnfrei. Das muss \newcommand ... [2] heißen... So funkionierts dann auch.

von skater » Mi 29. Apr 2009, 22:57

How about \newenvironment{mytabular}[]{×}{×}? :D

\newcommand mit Tabelle

von Schnapphase » Mi 29. Apr 2009, 22:52

Hallo,

ich habe eine Tabellenstruktur, die sich recht oft wiederholt - da dachte ich mir, bau dir doch ein newcommand. Problem: Latex wirft einen Fehler.
\newcommand{\TaskBox}[1][2]
{
\begin{tabularx}{\linewidth}{|p{2.5cm}|X|}
\hline
\cellcolor{black} \textcolor{white}{ \textbf{Aufgabe #1:} } &
#2 \\
\hline
\end{tabularx}
}
Der Fehler: You can't use `macro parameter character #' in internal vertical mode.

Bevor ich die Tabellenbreite festgesetzt habe, kam der selbe Fehler für den horizontal mode. Ich verstehe auch, warum der Fehler auftritt - schließlich weiß Latex ja nicht, wieviel Text ich einsetzen möchte und kann die Tabellenhölhe nicht bestimmen. \newcommand ist anscheinend keine Präprozessor-Ersetzung wie zB ein #define ....

Die Höhe festlegen möchte ich natürlich auch nicht.

Wie kann ich das Problem lösen?

Nach oben