Parameter auf Leerheit überprüfen

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: Parameter auf Leerheit überprüfen

von Mathefreak » Di 1. Mär 2011, 18:48

! Paragraph ended before \text@command was complete.
Das kommt raus.

Wie gesagt, muss man
Mathefreak hat geschrieben:bei %Space after thm head \newline mit 0cm ersetzen
sonst gibt der einen weiteren Fehler an.

Hab auch jetzt rausgefunden woran es liegt. Er akzeptiert den Befehl \par (neuen Absatz) in der if-Abfrage nicht, dafür aber z.B. \newline (neue Zeile). Liegt wohl an der Definition der if-Abfrage.

Dann funzt auch dein Vorschlag.

von iTob » Mo 28. Feb 2011, 20:05

Mit welcher Fehlermeldung geht der Code denn nicht?

Standard schön und gut, aber dennoch würde ich gern nach meinen Vorstellungen bzw. an Beispiele einiger Skripts das Layout anpassen. 15pt war ne falsche Angabe, geb ich zu, hatte es ja bisher net ausgedruckt und gesehn, dass es vorne und hinten net passt. Wenn ich dann vom Lehrstuhl Layoutvorgaben bekomme, kann ich sie immer noch umändern bzw. den Standard wiederherstellen.
Klar kann man seine eigenen Vorstellungen umsetzten nur hilft es, wenn man weiß was man tut und 15pt Schriftgröße sprechen eher dafür, dass man das nicht weiß. Aber das bleibt ja dir überlassen und das müssen wir an dieser Stelle auch nicht ausdiskutieren … ;)

Schönen Abend noch!
Tobi

von Mathefreak » So 27. Feb 2011, 17:01

Hab deinen kompletten Code kopiert so wie er da stand. Bei mir funzte er net.

Ich hab hier ein Buch für LaTeX in Naturwissenschaften & Mathematik. Da steht nicht der theoretische Hintergrund im Vordergrund, sondern Lösungen für gewisse Problematiken. Also keinen systematischen Einstieg gehabt und deswegen meine Wissenslücken.

Standard schön und gut, aber dennoch würde ich gern nach meinen Vorstellungen bzw. an Beispiele einiger Skripts das Layout anpassen. 15pt war ne falsche Angabe, geb ich zu, hatte es ja bisher net ausgedruckt und gesehn, dass es vorne und hinten net passt. Wenn ich dann vom Lehrstuhl Layoutvorgaben bekomme, kann ich sie immer noch umändern bzw. den Standard wiederherstellen.

von iTob » So 27. Feb 2011, 15:16

Hast du versucht mein Beipiel wie es ist zu kompilieren oder hast du es in dein Dokument kopiert? Dann hast du vielleicht vergessen die Definition von \ifEmpty mit zu kopieren? (die \…atletter sind wichtig!).

Wenn alles geklärt ist, solltest du den Status hier bitte entsprechend anpassen.


Noch was allgemeines: Also zusammegooglen schön und gut aber ich würde dir schon einen systematischen Einstieg empfehlen. Wenn du gerne viel ließt, dann zum Beispiel den LaTeX-Begleiter von Mittelbach/Goosens – da steht sehr viel zu LaTeX drin. Oder auch die KOMA-Script Dokumentation, in der ein paar allgemeinere Sachen auch erklärt werden; dennoch ist sie nicht unbedingt als Einstig in LaTeX gedacht.
Ich würde nicht versuchen, deine handschriftlichen Sachen nachzuempfinden durch angaben wie 15pt etc. Wenn du keine Ahnng von Layout und Typografie hast, solltest du dich zunächst auf die Standards von LaTeX verlassen, di bringen schon ganz schöne Ergebnisse. Lass also alles raus, was mit Layout & Co. zu tun hat, solange du nicht weißt was du warum damit erreichen willst ;)

von Mathefreak » So 27. Feb 2011, 15:04

iTob hat geschrieben:Auf die Parameter (= Argumente) einer Definition kannst du mit #n mit n aus {1,2,...,9}. Dabei steht n für die Nummer des Arguments. Das (einzig mögliche) optionale ist immer das erste, also #1. Die obligatorischen sind dann #2–#9, wenn es ein optionales Argument gibt bzw. #1–#9, wenn es nur obligatorische gibt.
In deinem Fall ist es also #1.
Siehe auch unser Wiki: http://www.golatex.de/wiki/index.php?ti ... nvironment
Das war das Wissen, was mir fehlte. Das kommt davon, wenn man sein Wissen sich aus Bücher und Google erschleicht. ;)

iTob hat geschrieben:Übrigens ist unterstreichen so ziemlich das Böseste, was man an Textauszeichnung machen kann, wenn man technisch weiter fortgeschritten ist, als Schreibmaschine. Ich würd’s einfach weglassen [...]
Du willst nicht wirklich 15pt Schriftgröße oder? Schreibst du ein Kinderbuch? :wink:
Nein, ich werd meine Diplomarbeit in Mathe schreiben, befinde mich aber noch in der Testphase. Bisher mach ich das, wie ich das vom handschriftlichen her kenne. Muss mich am Ende wahrscheinlich eh an die Angaben des Lehrstuhls halten.
iTob hat geschrieben:Was deine [size]-Befehle sollen, verstehe ich auch nicht. Das sieht mir eher nach BBCode, als nach LaTeX aus.
Fehlerteufel eingeschlichen. Hab's oben korrigiert.


Dein Beispiel hat bei mir net gefunzt, dennoch hat mir dein Beitrag zur Lösung des Problems geholfen.
Hab meine if-Abfrage genommen und sie da eingesetzt, wo du deine hingetan hattest, mit der Korrektur, dass zuerst die "Befehlsstruktur" von \newtheoremstyle net verletzt wird. Außerdem musste ich bei %Space after thm head \newline mit 0cm ersetzen, da er ja net von Anfang an nen Zeilenumbruch machen soll.

So sieht also mein funktionierendes Beispiel aus:
\documentclass[12pt, ngerman, bigheadings]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{stmaryrd}
\usepackage{dsfont}
\usepackage{amssymb}
\usepackage{amsmath, amssymb, amsfonts, amsthm}
\usepackage{algorithmic}
\usepackage{ifthen}
\newtheoremstyle{neu}
   {0.5cm}                   %Space above
   {}                   %Space below
   {}                           %Body font: original {\normalfont}
   {}                      %Indent amount (empty = no indent,
                           %\parindent = para indent)
   {\normalfont}  %Thm head font original {\normalfont\bfseries}
   {}                     %Punctuation after thm head original :
   {0cm}              %Space after thm head: " " = normal interword
                           %space; \newline = linebreak
  {\underline{\textbf{\thmname{#1}\thmnumber{ #2}}}\textit{\thmnote{ (#3)}}
    \ifthenelse{\equal{#3}{\empty}}
   {\quad}
   {\newline}
   }
\theoremstyle{neu}
\newtheorem{alg}{Algorithmus}[section]
\begin{document}
\section{Extrapolation}
test\\
\begin{alg}[Extrapolationsalgorithmus]
test\\test
\end{alg}

\begin{alg}
test\\test
\end{alg}

\end{document}
iTob hat geschrieben:Sehe ich grad erst: „KOMA-Script“ ist jetzt eher nicht das richtige Unterforum für deine Frage. Besser gewesen wäre „Test- und Listenformatierung“ oder meiner Meinung nach am ehesten „eigene Strukturen“ …
Sag ja, Neuling. :D Wußte net so recht wohin mit meinem Anliegen.

von iTob » So 27. Feb 2011, 11:27

Guten Morgen,

ich habe grad kein TeX-System, kann also nix testen. Auf die Parameter (= Argumente) einer Definition kannst du mit #n mit n aus {1,2,...,9}. Dabei steht n für die Nummer des Arguments. Das (einzig mögliche) optionale ist immer das erste, also #1. Die obligatorischen sind dann #2–#9, wenn es ein optionales Argument gibt bzw. #1–#9, wenn es nur obligatorische gibt.
In deinem Fall ist es also #1.
Siehe auch unser Wiki: http://www.golatex.de/wiki/index.php?ti ... nvironment


Die if-Abfrage könnte eventuell nicht klappen, weiß ich nicht. mir hat das geholfen:
http://www.golatex.de/newcommand-und-op ... t2549.html
(Antwort von Stefan zum (dort erst definierten) ifEmpty-Befehl)

Übrigens ist unterstreichen so ziemlich das Böseste, was man an Textauszeichnung machen kann, wenn man technisch weiter fortgeschritten ist, als Schreibmaschine. Ich würd’s einfach weglassen (Fett als Auszeichnung ist mehr als genug. Da in den KOMA-Klassen die Gliederungsebenen alle in serifenloser Schrift gesetzt sind, könnte man das hier eventuell übernehmen, also \textsf{…} statt \underline{…} und die Kursivierung der Note müsste dann eventuell durch eine schräge ersetzt werden: \textsl{…} statt \textit{…}.

Viele Grüße
Tobi

PS: Ich hab’s zwar nicht testen können, aber dein Beispiel schaut gut aus!

EDIT: Ich hab dein Beispiel jetzt doch gestestet. Du willst nicht wirklich 15pt Schriftgröße oder? Schreibst du ein Kinderbuch? :wink:
Was deine [size]-Befehle sollen, verstehe ich auch nicht. Das sieht mir eher nach BBCode, als nach LaTeX aus.

Hier noch das angepasste Beispiel:
\documentclass[ngerman, bigheadings]{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{babel} 
\usepackage{stmaryrd} 
\usepackage{amssymb} 
\usepackage{amsmath, amssymb, amsfonts, amsthm} 
\usepackage{algorithmic} 
\makeatletter 
\def\ifEmpty#1{\def\@temp{#1}\ifx\@temp\@empty} 
\makeatother
\newtheoremstyle{neu} 
   {0.5cm}                   %Space above 
   {}                   %Space below 
   {}                           %Body font: original {\normalfont} 
   {}                      %Indent amount (empty = no indent, 
                           %\parindent = para indent) 
   {\normalfont}  %Thm head font original {\normalfont\bfseries} 
   {}                     %Punctuation after thm head original : 
   {}              %Space after thm head: " " = normal interword 
                           %space; \newline = linebreak 
   {\textbf{\textsf{\thmname{#1}~\thmnumber{#2}}}%
      \ifEmpty{#3}\quad%
      \else\textit{\thmnote{ (#3)\par}}%
      \fi%      
   } 
\theoremstyle{neu} 
\newtheorem{alg}{Algorithmus}[section] 

\begin{document} 
\section{Extrapolation} 
test

\begin{alg}[Extrapolationsalgorithmus]  
test

test 
\end{alg} 

\begin{alg}
test

test 
\end{alg} 
\end{document}
Sehe ich grad erst: „KOMA-Script“ ist jetzt eher nicht das richtige Unterforum für deine Frage. Besser gewesen wäre „Test- und Listenformatierung“ oder meiner Meinung nach am ehesten „eigene Strukturen“ …

Parameter auf Leerheit überprüfen

von Mathefreak » So 27. Feb 2011, 04:14

Hallo erstmal,

Ich werde demnächst meine Diplomarbeit schreiben und wollte bevor es losgeht soweit mit LaTeX umgehn können, damit ich mich während der Diplomarbeit net damit rumschlagen muss bei Problemen. Bin also absoluter Laie.

Hoffe mit kann einer bei meinem Problem helfen:

Hab mir "alg"(Algorithmus) definiert als ein Theorem aus dem amsmath Package und nach meinen Wünschen umgeändert durch Programmierungen, die ich mir ergoogelt habe.

Wenn ich jetzt ein neuen alg beginne
\begin{alg}[Extrapolationsalgorithmus]
gebe ich noch den Zusatzparameter "Extrapolationsalgorithmus" an. Wenn ich das tue, soll LaTeX einen Zeileumbruch machen.

Wenn ich keinen Zusatzparameter schreibe, soll er ein paar Zeilen freilassen, etwa mit \quad.

Da ist mir eine if-Abfrage in den Sinn gekommen
\ifthenelse{\equal{"Extrapolationsalgorithmus"}{\empty}}{\quad}{\newline}%
Mein Problem ist, das ich net weiß, wie ich den Parameter abfragen soll (deswegen steht im Code auch der Name, der ja von Fall zu Fall verschieden ist).
Jmd ne Idee?

Und wo im Header platzier ich den am besten?

Danke für die Hilfen im voraus.

Hier mein Minimalbeispiel (hoffe, es ist alles dabei):
\documentclass[15pt, ngerman, bigheadings]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{stmaryrd}
\usepackage{dsfont}
\usepackage{amssymb}
\usepackage{amsmath, amssymb, amsfonts, amsthm}
\usepackage{algorithmic}
\usepackage{ifthen}
\newtheoremstyle{neu}
   {0.5cm}                   %Space above
   {}                   %Space below
   {}                           %Body font: original {\normalfont}
   {}                      %Indent amount (empty = no indent,
                           %\parindent = para indent)
   {\normalfont}  %Thm head font original {\normalfont\bfseries}
   {}                     %Punctuation after thm head original :
   {\newline}              %Space after thm head: " " = normal interword
                           %space; \newline = linebreak
   {\underline{\textbf{\thmname{#1}\thmnumber{ #2}}}\textit{\thmnote{ (#3)}}}
\theoremstyle{neu}
\newtheorem{alg}{Algorithmus}[section]

\begin{document}
\section{Extrapolation}
test\\
\begin{alg}[Extrapolationsalgorithmus]
\ 
test\\test
\end{alg}
\end{document}

Nach oben