Neue Umgebung mit Funktion einer anderen

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Neue Umgebung mit Funktion einer anderen

Beitrag von Crys »

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{comment}

% Eine neue Umgebung wird definiert, die (in diesem Beispiel) die verbatim-Umgebung beinhaltet, plus noch etwas Code
\newenvironment{neubox}{
	\begin{verbatim}
	Hier steht noch Text vor dem eigentlichen Box Text. Vllt auch ein Bild.
}{%
	Und hier steht auch vllt noch was.
	\end{verbatim}
} 

% Die verbatim-Umgebung wird auskommentiert
\excludecomment{verbatim}

\begin{document}

% Das sollte nicht mehr dargestellt werden
\begin{verbatim}
Hier ist ein Text, der nicht angezeigt werden soll, da die gesamte Box nicht angezeigt werden soll.
\end{verbatim}

% Das sollte die selbe formatierung usw. der verbatim-Box haben, aber noch sichtbar sein
\begin{neubox}
Hier ist ein Text, der angezeigt werden soll! Und diese Box soll die identischen Aufgaben haben wie (in diesem Beispiel) die verbatim-Box.
\end{neubox}

\end{document}
Ich möchte eine neue Umgebung schaffen, welche die Funktion einer anderen Umgebung hat. Es soll der Text in der alten Umgebung noch eben im Quellcode lesbar sein, aber nicht kompiliert werden.

Mit dem comment-Paket kann ich eine Umgebung auskommentieren. Aber ich möchte das die Funktion des Pakets ja noch in meinen neuen Paket weiter besteht. Das ist für mich ne Zwickmühle.

Wie mache ich das?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Hallo Crys, leider verstehe ich nicht was du vor hast. Kannst du vielleicht ein konkretes Anwendungsbeispiel nennen?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Re: Neue Umgebung mit Funktion einer anderen

Beitrag von cgnieder »

Crys hat geschrieben:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{comment}

% Eine neue Umgebung wird definiert, die (in diesem Beispiel) die verbatim-Umgebung beinhaltet, plus noch etwas Code
\newenvironment{neubox}{
	\begin{verbatim}
	Hier steht noch Text vor dem eigentlichen Box Text. Vllt auch ein Bild.
}{%
	Und hier steht auch vllt noch was.
	\end{verbatim}
} 

\begin{document}

...

\end{document}
Das kann aus zwei Gründen nicht funktionieren. (Eigentlich aus einem). Zum einen ist es keine gute Idee, innere Umgebungen auch mit \begin und \end einzuleiten. Zwar funktioniert das in der Regel (siehe Beispiel), kann aber zu eher überraschenden Fehlermeldungen führen (auch siehe Beispiel):
\documentclass{article}

\newenvironment{myitemize}
  {\begin{itemize}}
  {\end{itemize}}

\begin{document}

\begin{myitemize}
  \item foo
\end{myitemize}

\begin{myitemize}
  \item
  \begin{enumerate}
    \item
\end{myitemize}

\end{document}

\end{document}
Die erste Umgebung funktioniert, die zweite liefert erwartungsgemäß einen Fehler, aber nicht den, den man vielleicht erwartet:
! LaTeX Error: \begin{enumerate} on input line 15 ended by \end{itemize}.
Besser wäre daher eine Definition, die die zugrundeliegenden Makros der inneren Umgebung verwendet:
\newenvironment{myitemize}
  {\itemize}
  {\enditemize}
Das wird allerdings in Deinem Beispiel nicht funktionieren, da die verbatim-Umgebung anders funktioniert: sie muss \end{verbatim} finden, und zwar nicht versteckt in einem anderen Makro.

Daher stellt sich die Frage: was möchtest Du eigentlich erreichen? tatsächlich eine verbatim-artige Umgebung? (Ich tippe dagegen, da die Zeile
Hier steht noch Text vor dem eigentlichen Box Text. Vllt auch ein Bild.
vermuten lässt, dass Du gar keinen Verbatiminput haben möchtest...)

Grüße
Clemens
Paketauthor

Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Beitrag von Crys »

Danke euch!

Ihr habt beide richtig erkannt es hier nicht um die verbatim-Umgebung geht. Es sollte nur ein Minimalbeispiel sein, in meinem anderen Thread hat niemand verstanden um was es geht: http://www.golatex.de/viewtopic,p,56143.html#56143

Es geht darum das ich zu Beamer-Folien Notizen machen möchte, diese sollen aber nicht in den regulären Folien erscheinen.
Sondern ich möchte diese Notizen als separate PDF ausgeben lassen, aber auch als Beamer-Folien, aber dann ohne die original Folien (dazwischen).
\documentclass[demo]{beamer}
\usepackage[utf8]{inputenc}

\newenvironment{notiz}{
   \begin{frame}[t]
   \begin{wrapfigure}{r}{.5\textwidth}
      \includegraphics[page=\thepage]{PdfDatei}
   \end{wrapfigure}
}{%
   \end{frame}
}

\begin{document}

\begin{frame}{Folie}
Hier ist ein Text, der nicht angezeigt werden soll, da die gesamte Folie nicht angezeigt werden soll.
\end{frame}

\begin{notiz}
Hier ist der Notiz-Text, dieser soll angezeigt werden. Und rechts ist eine Abbildung.
\end{notiz}

\end{document}
Diese Notizen sollen halt direkt unter den Folien stehen, damit ich den Bezug habe.

Ich habe gedacht, das es das einfachste ist die frame-Umgebung auszublenden, und die neue notiz-Umgebung als quasi frame-Umgebung zu nutzen.

Ist es jetzt klar?
Habt ihr ne andere Idee?

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ich verstehe noch nicht, wie dein Vortrag ablaufen soll. Willst du beide PDFs parallel zueinander auf verschiedenen Bildschirmen/Beamern ausgeben? Oder willst du die Notizen nur für dich ausdrucken?
Erklär das bitte mal genauer, dann können wir dir am besten helfen.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

@Crys: Du möchtest eine beamer-Präsentation machen, zusätzliche Anmerkungen/Notizen sollen zusammen mit dem eigentlichen Inhalt in eine Art Handout. Habe ich das soweit richtig verstanden?

Wie sudo im anderen Thread bereits andeutete, gelingt dir sowas mit den verschiedenen Modes.
Der Bildschirm des Rechners und die Projektionsfläche des Beamers bilden gemeinsam eine Fläche, auf den die "doppelbreite" pdf aufgeteilt wird.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Beitrag von Crys »

sudo hat geschrieben:Willst du beide PDFs parallel zueinander auf verschiedenen Bildschirmen/Beamern ausgeben? Oder willst du die Notizen nur für dich ausdrucken?
Genau, sowohl als auch. Die Notizen sollen an dem Monitor ausgegeben werden oder eben ausgedruckt vor mir liegen.
Johannes_B hat geschrieben:@Crys: Du möchtest eine beamer-Präsentation machen, zusätzliche Anmerkungen/Notizen sollen zusammen mit dem eigentlichen Inhalt in eine Art Handout. Habe ich das soweit richtig verstanden?
Nein, kein Handout. Und die Notizen sollen nicht zusammen mit dem eigentlichen Inhalt auf eine Folie.
Johannes_B hat geschrieben:Der Bildschirm des Rechners und die Projektionsfläche des Beamers bilden gemeinsam eine Fläche, auf den die "doppelbreite" pdf aufgeteilt wird.
Und wie soll das funktionieren? Wie bringe ich einem x-belibigen pdf-Reader bei das er das Vollbild über zwei Monitore spannt? Kann mir niemand sagen ...

Und ich möchte ja nicht eine Präsentation mit Inhalt und Notizen schaffen, sondern zwei. Eine nur mit Inhalt und eine nur mit Notizen.

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Ich würde trotzdem die Modes second und handout empfehlen. Den normalen Teil setzt du mit <beamer> bzw. wird automatisch so gemacht. Die Notizen setzt du sowohl mit <handout|second>. Dann kannst du das mit handout erzeugte pdf ausdrucken und evtl. auf den zweiten Bildschirm bringen. Dabei ist aber das Problem, dass du zum weiterklicken immer zwischen den verschiedenen PDFs hin und her springen musst. Wenn es dir doch noch gelingt den Vollbildmodus deines PDF-Readers auf beide Bildschirme zu strecken kannst du das PDF nutzen, dass die second Folien daneben macht.

Falls du doch auch noch ein Handout erstellen möchtest, kannst du noch den Modus <trans> verwenden.

Zum Thema zwei Bildschirme hab ich auf TeX.sx und mrunix etwas gefunden.
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Beitrag von Crys »

sudo hat geschrieben:Ich würde trotzdem die Modes second und handout empfehlen. Den normalen Teil setzt du mit <beamer> bzw. wird automatisch so gemacht. Die Notizen setzt du sowohl mit <handout|second>.
Ich kann entweder Handout oder Folien erstellen. Aber nicht in ein und die selbe Datei beides direkt untereinander. Wüsste zumindest nicht wie.
sudo hat geschrieben:Dabei ist aber das Problem, dass du zum weiterklicken immer zwischen den verschiedenen PDFs hin und her springen musst.
Das ist kein Problem. Das ist ein winziges Skript.
sudo hat geschrieben:Wenn es dir doch noch gelingt den Vollbildmodus deines PDF-Readers auf beide Bildschirme zu strecken kannst du das PDF nutzen, dass die second Folien daneben macht.

[...]

Zum Thema zwei Bildschirme hab ich auf TeX.sx und mrunix etwas gefunden.
Genau das ist das Problem. Unter Windows geht das nicht. wie es auch im zweiten Link steht. Und 100% der PCs an denen ich arbeite haben Windows :wink:

http://www.mrunix.de/forums/showthread.php?t=68059#4
Ich möchte genau das machen, was ak131554 unter 2.) beschreibt. Das einzige das mir fehlt ist, das man zwei pdfs bekommt.


Noch mal in Bildern:
Bild

Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Beitrag von Crys »

\documentclass[
	demo,
	%handout,
	beamer,
]{beamer}

\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{graphicx}
\usepackage{wrapfig}

\mode<handout>{
	\addtobeamertemplate{frametitle}{
	   \begin{wrapfigure}{r}{.5\textwidth}
		  \includegraphics[page=\thepage]{PdfDatei}
	   \end{wrapfigure}
	}
}

\begin{document}

\begin{frame}<beamer>{Frame}
handout
\end{frame}

\begin{frame}{Beides}
handout
\end{frame}

\begin{frame}<handout>{Handout}
handout
\end{frame}

\end{document}
Das funktioniert. Was haltet ihr davon?

Nur ist "\addtobeamertemplate{frametitle}{}" wohl nicht ganz korrekt, aber ich finde keinen Parameter für den Inhalt eines Frames.
http://www.cpt.univ-mrs.fr/~masson/late ... -sheet.pdf

Antworten