optionale Option.../eigenes Paket

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: optionale Option.../eigenes Paket

von Besserwisser » Mo 9. Jul 2012, 18:03

Madridista hat geschrieben:Ich werde mich bestimmt demnächst wieder hier melden, versuche gerade Makros für eine Titelseite zu basteln...
Siehe http://www.komascript.de/titlepage

von Madridista » Mo 9. Jul 2012, 17:35

Nochmals vielen, dass hatte ich gerade nicht bedacht.

Ich werde mich bestimmt demnächst wieder hier melden, versuche gerade Makros für eine Titelseite zu basteln...

von bloodworks » Mo 9. Jul 2012, 17:30

Hallo hier nochmal alle Möglichkeiten. wie du siehst ist das umsetzen deiner Wünsche mit l3 tatsächlich am einfachsten Möglich.
\documentclass{book}
\usepackage{xparse}
\usepackage{dsfont, xcolor}
\NewDocumentCommand\xrR{o}{%
\IfNoValueTF {#1}%
	{%
	\ensuremath{\mathds{R}}%
	}
	{\ensuremath{\mathds{R}^{#1}}%
	}%
}%
\newcommand\rR[1][1]{\ifnum #1 = 1%
% 
\ensuremath{\mathds{R}}%
\else%
\ifnum #1 > 1%
\ensuremath{\mathds{R}^{#1}}%
\else%
\ensuremath{\mathds{R}^{n}}%
% 
\fi \fi%
%
}%
\def\myn{n}
\newcommand\erR[1][1]{%
\def\tempopt{#1}%
\ifx\tempopt\myn%
\ensuremath{\mathds{R}^{n}}%
\else%
\ifnum #1 = 1%
\ensuremath{\mathds{R}}% 
\else%
\ensuremath{\mathds{R}^{#1}}% 
% 
\fi%
\fi%
}
\begin{document}



\xrR[3]
\xrR
\xrR[n]
\color{green}
\rR[3]
\rR
\rR[0]
\color{red}
\erR[3]
\erR
\erR[n]

\end{document}
Zu den Abständen: wie du sicher weißt gibt es in LaTeX2e whitespace der was bedeutet und welchen der nichts bedeutet. Das muss man gerade bei so was sauber kontrollieren. In diesem Fall mit %. Wenn du ein Latex3 Paket schreibst, dann ist das egal, weil dort jeder white space keine Bedeutung hat.

von Madridista » Mo 9. Jul 2012, 17:15

Aha, das werde ich mir auf jeden Fall mal näher ansehen.
Das macht auch gleich das mit den Buchstaben möglich^^

Hoffentlich letze Frage in der Hinsicht, jetzt entsteht ein relativ großer Abstand vor und nach dem Buchstaben (deutlich größer als ein Leerzeichen), ist es irgendwie möglich, dass noch zu ändern?

von bloodworks » Mo 9. Jul 2012, 17:02

Naja viel cooler halt (s.o.). Ich persönlich finde die Art und Weise wie l3 das alles macht sehr angenehm. Paketoptionen einbauen etc. ist echt super leicht und intuitiv. Nur das mit den white-spaces an das muss man sich erst mal gewöhnen.

von Madridista » Mo 9. Jul 2012, 16:58

Danke für den Hinweis, dann werde ich mir das mal anschauen, auch vielen Dank für die Lösung.
Abgesehen davon, wie sähe das denn mit xparse aus?

EDIT: Gibt es noch eine Möglichkeit, es so zu ändern, dass auch Buchstaben zusätzlich angegeben werden können? Also R^2 sowie R^n.

von bloodworks » Mo 9. Jul 2012, 16:48

Hallo ich würde dir ja empfehlen den ganzen LaTeX2e Kram sein zu lassen und gleich in latex 3 (das Paket xparse !) zu machen, aber hier eine L2e Lösung:
\documentclass{book}
\usepackage{dsfont}
\begin{document}
\newcommand{\test}[1][default]{test: #1}
\test \\
\test[was anderes]

\newcommand\rR[1][1]{\ifnum #1 = 1
%
\ensuremath{\mathds{R}}
\else
\ensuremath{\mathds{R}^{#1}}
%
\fi

}

\rR[3]
\rR
\end{document}
Mit xparse sieht das ganze noch viel cooler aus:
\documentclass{book}
\usepackage{xparse}
\usepackage{dsfont}
\NewDocumentCommand\xrR{o}{
\IfNoValueTF {#1}
	{
	\ensuremath{\mathds{R}}
	}
	{\ensuremath{\mathds{R}^{#1}}
	}
}

\begin{document}



\xrR[3]
\xrR
\end{document}

optionale Option.../eigenes Paket

von Madridista » Mo 9. Jul 2012, 16:38

Guten Tag,

ich möchte mir ein eigenes Paket erstellen, damit ich in Zukunft einige Definitionen, nicht in jede Präambel neu reinschreiben bzw. erst einmal aus anderen Dokumenten wieder heraus suchen muss.
Jedoch scheitere ich schon bei meinem ersten Befehl...
Bisher sieht das ganze so aus:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudsty}[2012/07/09 Paket zum Mitschreiben von Vorlesungen]

\RequirePackage{dsfont}

\newcommand\rR{\ensuremath{\mathds{R}}}
Dies werde ich auch noch mit den anderen üblichen Buchstaben wiederholen. Jedoch möchte ich zusätzlich die Möglichkeit haben, in einer geschweiften Klammer zusätzlich eine Zahl oder einen Buchstaben einzugeben, welcher dann hochgestellt erscheint.
Mein Versuch dazu ist bisher
\newcommand\rR[1]{\ensuremath{\mathds{R}^{{#1}}}}
Jedoch muss ich nun in jedem Fall die geschweiften Klammern schreiben, auch wenn ich nur das \mathds{R} haben möchte. Ist es möglich eine Option zu definieren, welche nicht unbedingt angegeben werden muss. Ich habe da zum Beispiel an das ifthen-Paket gedacht, muss aber zugeben, dass ich aus der Anleitung nicht ganz schlau werde :?

Vielen Dank schon mal

Nach oben