Folgendes habe ich gebastelt:

Öffne in Overleaf
\def\PREC
{\begin{minipage}{\textwidth}
\begin{minipage}{.02\textwidth}
\scalebox{1}{\textcolor{PDCN_blue_01}{\ding{115}}}
\end{minipage}
\hspace{0.1cm}
\fcolorbox{PDCN_blue_01!50}{lightgray!7}{
\begin{minipage}{.9\textwidth}
\scalebox{0.5}{\textcolor{PDCN_blue_01!60}{PRECONDITION:}}
%\\
\begin{description}
\item{} 
\end{description}
\end{minipage}
}
\end{minipage}}

von \begin{description} bis \end{description} möchte ich zwischen \begin{document} und \end{document} immer wieder beliebigen Text einfügen.

Ich möchte das Makro \PREC{hier irgendeinen Text eingeben} verwenden, um nicht immer wieder die minipage-Umgebung zu kopieren.

Kann jemand helfen?

gefragt 07 Aug, 07:46

HUELSBUERO's gravatar image

HUELSBUERO
101
Akzeptiert: 0%

bearbeitet 07 Aug, 09:29

saputello's gravatar image

saputello
20.0k33257

1

Wir verwenden hier für die Formatierung markdown, Code markierst du als solchen durch eine Einrückung von 4 Leerzeichen, am einfachsten ist das hinzubekommen wenn du deinen Code markierst und dann auf die Schaltfläche 101010 im Editor klickst. Zur besseren Lesbarkeit der Frage wäre es sehr nett wenn du die Frage entsprechend editierst. Außerdem ist ein vollständiges Minimalbeispiel immer hilfreich für beide Seiten.

(07 Aug, 07:51) NobbZ

Bitte beachte, dass Themen nur aus einzelnen Wörtern bestehen können. Wenn Du mehrere Wörter eingibst, zerfallen die immer in einzelne Themen. Wähle außerdem vorzugsweise eines der bereits vorhandenen Themen.

(07 Aug, 09:32) saputello

Da ich schon einmal dabei war, die Themenliste zu korrigieren, habe ich auch gleich die Formatierung korrigiert. Trotzdem solltest Du lernen, wie das geht (siehe NobbZ' Kommentar). Etwas semantische Einrückung könnte übrigens die Lesbarkeit deutlich erhöhen.

(07 Aug, 09:33) saputello

Ich verstehe übrigens die Frage nicht wirklich. Willst Du wissen, wie man eigene Umgebungen definieren kann oder wie man Befehle mit Argumenten versehen kann?

(07 Aug, 09:33) saputello

Off-Topic: In LaTeX sollte man möglichst immer die höchste, verfügbare Befehlsebene verwenden. Für die Definition von neuen Befehlen/Makros ist das \newcommand (oder entsprechende Anweisungen von xparse). Die Verwendung von \def birgt immer das Risiko versehentlich etwas zu überschreiben.

(07 Aug, 09:35) saputello

Selbstverständlich kann man auch eigene Umgebungen definieren. Um allerdings den Inhalt einer Umgebung in eine \fcolorbox einschließen zu können benötigt man den Trick mit einer lrbox wie er im usrguide.pdf gezeigt wird. Dann ginge beispielsweise:

Öffne in Overleaf
\documentclass{article}

\usepackage{graphicx}
\usepackage{pifont}
\usepackage{xcolor}

\definecolor{PDCN_blue_01}{RGB}{0,0,255}

\newsavebox\precbox
\newenvironment{PREC}{%
  \begin{minipage}{\textwidth}
    \begin{minipage}[t]{.02\textwidth}% ggf. [t] weglassen
      \scalebox{1}{\textcolor{PDCN_blue_01}{\ding{115}}}
    \end{minipage}%
    \hspace{0.1cm}%
    \begin{lrbox}{\precbox}
      \begin{minipage}[t]{.9\textwidth}% ggf. [t] weglassen
        \scalebox{0.5}{\textcolor{PDCN_blue_01!60}{PRECONDITION:}}
        % \\
        \begin{enumerate}
}{
        \end{enumerate}
      \end{minipage}%
    \end{lrbox}
    \fcolorbox{PDCN_blue_01!50}{lightgray!7}{\usebox{\precbox}}%
  \end{minipage}%
}

\begin{document}

\begin{PREC}
\item erster Eintrag
\item zweiter Eintrag
\item dritter Eintrag
\item vierter Eintrag
\item fünfter Eintrag
\item sechster Eintrag
\item siebter Eintrag
\item achter Eintrag
\item neunter Eintrag
\item zehnter Eintrag
\end{PREC}
\end{document}

Dreieck oben

Lässt man [t] in den entsprechend markierten Zeilen weg, erhält man stattdessen:

Dreieck mittig

Wobei zwecks besserer Fehlermeldungen bei falschem Ende der neuen PREC-Umgebung folgende Schreibweise IMHO besser wäre:

Öffne in Overleaf
\newenvironment{PREC}{%
  \minipage{\textwidth}
    \begin{minipage}{.02\textwidth}
      \scalebox{1}{\textcolor{PDCN_blue_01}{\ding{115}}}
    \end{minipage}%
    \hspace{0.1cm}%
    \begin{lrbox}{\precbox}
      \minipage{.9\textwidth}
        \scalebox{0.5}{\textcolor{PDCN_blue_01!60}{PRECONDITION:}}
        % \\
        \enumerate
}{
        \endenumerate
      \endminipage%
    \end{lrbox}
    \fcolorbox{PDCN_blue_01!50}{lightgray!7}{\usebox{\precbox}}%
  \endminipage%
}

Spätestens hier stellt sich allerdings die Frage, ob nicht die Verwendung von Paket tcolorbox eine empfehlenswerte Alternative wäre.

Permanenter link

beantwortet 08 Aug, 10:10

saputello's gravatar image

saputello
20.0k33257

bearbeitet 08 Aug, 10:17

Du möchtest deinem Makro ein Argument geben. Dies geht mit \newcommand\PREC[1]{... #1 ...} wobei #1 durch das übergebene Argument ersetzt wird.

Öffne in Overleaf
\documentclass{article}

\usepackage{graphicx}
\usepackage{pifont}
\usepackage{xcolor}

\definecolor{PDCN_blue_01}{RGB}{0,0,255}

\newcommand\PREC[1]{%
  \begin{minipage}{\textwidth}
    \begin{minipage}{.02\textwidth}
      \scalebox{1}{\textcolor{PDCN_blue_01}{\ding{115}}}
    \end{minipage}%
    \hspace{0.1cm}%
    \fcolorbox{PDCN_blue_01!50}{lightgray!7}{%
      \begin{minipage}{.9\textwidth}
        \scalebox{0.5}{\textcolor{PDCN_blue_01!60}{PRECONDITION:}}
        % \\
        \begin{description}
        \item{} #1
        \end{description}
      \end{minipage}%
    }
  \end{minipage}%
}

\begin{document}

\PREC{hier irgendeinen Text eingeben}

\end{document}

alt text

Permanenter link

beantwortet 07 Aug, 17:30

Henri's gravatar image

Henri
11.4k42232

bearbeitet 07 Aug, 17:32

Vielen, vielen Dank - ymmd .... :-) !!

(08 Aug, 08:30) HUELSBUERO
2

@HUELSBUERO Ich habe Deine "Antwort" in einen Kommentar umgewandelt. Hier sind Antworten stets echte Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. »Vielen Dank« geht bei uns übrigens, indem man auf den Daumen hoch klickt und damit eine Stimme für eine Antwort abgibt. Das kann jeder für beliebig viele Fragen und Antworten. Der Fragesteller kann (und sollte) außerdem genau eine Antwort je Frage mit dem Haken akzeptieren.

(08 Aug, 09:09) saputello

Wie bekomme ich das mit {enumerate} bis zu 9 items hin?

(08 Aug, 09:42) HUELSBUERO
1

@HUELSBUERO Das ist genau der Grund, warum ich nach einem vollständigen Minimalbeispiel gefragt hatte und danach, ob Du wissen willst, wie man eine Umgebung definiert oder einen Befehl mit Argument. Natürlich kannst Du in dem Beispiel im Argument mehrfach \item verwenden. Aber ich fände spätestens dann eine Umgebung übersichtlicher und ratsam.

(08 Aug, 10:01) saputello
1

@HUELSBUERO Wenn man nur einen Punkt hat, ist es übrigens unsinnig diesen einen Punkt auch noch zu verschenken, statt einfach mal auf den Daumen hoch zu klicken und dem Helfer so gleich zu 10 Punkten zu verhelfen, ohne eigene Punkte investieren zu müssen. Jetzt hast Du Dich selbst auf 0 Punkte gesetzt und kannst damit noch nicht einmal mehr eigene Kommentare löschen. Vielleicht solltest Du einmal die FAQ und die darin verlinkten Seiten lesen.

(08 Aug, 11:04) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×17
×15
×4

Frage gestellt: 07 Aug, 07:46

Frage wurde angeschaut: 364 Mal

Zuletzt aktualisiert: 08 Aug, 11:04