Hallo zusammen,

ich möchte mich in meinem Text selber "zitieren". Wobei es weniger ein richtiges zitieren als ein Kopieren eines früheren Abschnittes ist. Das zweite "Das Wetter ist toll." soll sich auf das erste beziehen und wenn ich den ersten Satz abändere, soll sich auch der zweite Satz ändern.

Open in Online-Editor
\documentclass[]{scrreprt}
\usepackage[german]{babel}
\usepackage{blindtext}

\begin{document}
Das Wetter ist toll.\\
\blindtext\\
Das Wetter ist toll.
\end{document}

Danke, typ42

gefragt 25 Aug '16, 20:12

typ42's gravatar image

typ42
38341927
Akzeptiert-Rate: 33%


Am besten speichert man den Text einfach als Makro. Ich habe noch Setter und Getter außen herum gebastelt, damit es etwas intuitiver zu benutzen ist.

Open in Online-Editor
\documentclass{article}
\usepackage{blindtext}

\newcommand\savetext[2]{%
  \expandafter\def\csname save_text:#1\endcsname{#2}%
  #2%
}

\newcommand\gettext[1]{%
  \csname save_text:#1\endcsname
}

\begin{document}
\savetext{wetter}{Das Wetter ist toll.}

\blindtext

\gettext{wetter}
\end{document}

alt text


In ConTeXt benutzt man dafür Buffer.

Open in Online-Editor
\starttext

\startbuffer[wetter]
Das Wetter ist toll.
\stopbuffer
\getbuffer[wetter]

\input lorem

\getbuffer[wetter]
\stoptext
Permanenter link

beantwortet 25 Aug '16, 21:28

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 25 Aug '16, 21:31

Open in Online-Editor
\documentclass{article}
\usepackage{environ}
\NewEnviron{savetext}{\xdef\SavedText{\BODY}\SavedText}
\usepackage{blindtext}
\begin{document}

\begin{savetext}
foo bar baz

Foo Bar Baz
\end{savetext}

\SavedText

\end{document}
Permanenter link

beantwortet 26 Aug '16, 09:16

crazyhorse's gravatar image

crazyhorse
4323
Akzeptiert-Rate: 26%

bearbeitet 26 Aug '16, 21:44

\xdef ist keine so gute Idee. Probier mal

\begin{savetext}
\section{foo}
\end{savetext}
Vielleicht lieber \expandafter\gdef\expandafter\SavedText\expandafter{\BODY}.

(26 Aug '16, 09:20) Henri

Da sich die Originalfrage darauf bezog, den Text zu wiederholen, ging ich davon aus, dass \section hier wenig Sinn macht, denn beim zweiten Mal hat der Zähler nicht denselben Wert und somit ist es ein anderer Text. Ansonsten hilft einfach \noexpand\section{foo}

(26 Aug '16, 21:44) crazyhorse
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×25

gestellte Frage: 25 Aug '16, 20:12

Frage wurde gesehen: 5,883 Mal

zuletzt geändert: 26 Aug '16, 21:44