goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99398
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer nf.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Parameter auf Leerheit überprüfen

 

Mathefreak
Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 27.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.02.2011, 05:14     Titel: Parameter auf Leerheit überprüfen
  Antworten mit Zitat      
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
Code • Öffne in Overleaf
\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
Code • Öffne in Overleaf
\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):
Code • Öffne in Overleaf
\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}


Zuletzt bearbeitet von Mathefreak am 27.02.2011, 15:28, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen

iTob
Forum-Meister
Forum-Meister


Beiträge: 1220
Anmeldedatum: 19.04.10
Wohnort: ---
Version: TeX Live auf OS X
     Beitrag Verfasst am: 27.02.2011, 12:27     Titel:
  Antworten mit Zitat      
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?title=%5Cnewenvironment


Die if-Abfrage könnte eventuell nicht klappen, weiß ich nicht. mir hat das geholfen:
http://www.golatex.de/newcommand-un.....aler-parameter-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:
Code • Öffne in Overleaf
\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“ …
Private Nachricht senden Benutzer-Profile anzeigen

Mathefreak
Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 27.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.02.2011, 16:04     Titel:
  Antworten mit Zitat      
iTob hat Folgendes 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?title=%5Cnewenvironment

Das war das Wissen, was mir fehlte. Das kommt davon, wenn man sein Wissen sich aus Bücher und Google erschleicht. Wink


iTob hat Folgendes 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 Folgendes 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:
Code • Öffne in Overleaf
\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 Folgendes 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. Very Happy Wußte net so recht wohin mit meinem Anliegen.
Private Nachricht senden Benutzer-Profile anzeigen

iTob
Forum-Meister
Forum-Meister


Beiträge: 1220
Anmeldedatum: 19.04.10
Wohnort: ---
Version: TeX Live auf OS X
     Beitrag Verfasst am: 27.02.2011, 16:16     Titel:
  Antworten mit Zitat      
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 Wink
Private Nachricht senden Benutzer-Profile anzeigen

Mathefreak
Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 27.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.02.2011, 18:01     Titel:
  Antworten mit Zitat      
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.
Private Nachricht senden Benutzer-Profile anzeigen

iTob
Forum-Meister
Forum-Meister


Beiträge: 1220
Anmeldedatum: 19.04.10
Wohnort: ---
Version: TeX Live auf OS X
     Beitrag Verfasst am: 28.02.2011, 21:05     Titel:
  Antworten mit Zitat      
Mit welcher Fehlermeldung geht der Code denn nicht?


Zitat:
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 … Wink

Schönen Abend noch!
Tobi
Private Nachricht senden Benutzer-Profile anzeigen

Mathefreak
Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 27.02.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.03.2011, 19:48     Titel:
  Antworten mit Zitat      
Code • Öffne in Overleaf
! Paragraph ended before \text@command was complete.

Das kommt raus.

Wie gesagt, muss man
Mathefreak hat Folgendes 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.
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de