PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Liste von Referenzen eines Typs



ls21lam
12-08-2014, 10:49
Hallo,

mir fehlt eine zündende Idee zu folgendem Problem.
In meinem Dokument gibt es in vielen Kapiteln Beispiele (ca. 40), die in einer eigenen Umgebung gesetzt sind.
Diese Umgebung erzeugt eine Box mit grauem Hintergrund und ergänzt daneben eine Referenz aus \subsection und Zähler, die gleichzeitig als Marke (\label) verwendet werden soll.
Im Anhang möchte ich auf alle diese Beispiel verweisen und jedes Beispiel kommentieren.
So sollte es aussehen:
zu Beipiel 2.1-1
Wiederholung des Textes aus dem Beispiel
Kommentar
zu Beipiel 2.1-2
Wiederholung des Textes aus dem Beispiel
Kommentar
zu Beipiel 3.2-1
Wiederholung des Textes aus dem Beispiel
Kommentar
Wie kann die Reihenfolge im Anhang eingehalten werden, wenn ich weiter vorne Beispiele von einem in das andere Kapitel verschiebe? Wäre es möglich alles schon in der Beispielumgebung mit \savebox zu beschreiben und dann im Anhang nur noch
mit \usebox einzufügen?

Danke und Grüße

rais
12-08-2014, 22:07
Wie kann die Reihenfolge im Anhang eingehalten werden, wenn ich weiter vorne Beispiele von einem in das andere Kapitel verschiebe? Wäre es möglich alles schon in der Beispielumgebung mit \savebox zu beschreiben und dann im Anhang nur noch
mit \usebox einzufügen?

bräuchtest Du dafür nicht für jede Beispielumgebung eine eigene \savebox?
Vllt wäre es günstiger, wenn Du stattdessen so etwas wie TOC nachbaust. Das tocbasic-Paket (texdoc scrguide->tocbasic) kann Dir dabei vermutlich unter die Arme greifen.
Wenn Dich das nicht weiterbringt, erstelle bitte ein Minimalbeispiel, das Deinen bisherigen Stand wiedergibt.

MfG

ls21lam
13-08-2014, 10:49
Vielen Dank für den Hinweis.
Ich habe auch weiter gesucht und gelesen. Mein nächster Versuch wird sein, die Beispiele mit ntheorem zu setzen. Damit kann ich auch relativ einfach ein entsprechendes Verzeichnis erzeugen. In dieses Verzeichnis will ich dann mit \savebox jeden Kommentar zu den Beispielen versuchen einzubauen.
Das tocbasic-Paket schaue ich mir auch an.

Grüße


\documentclass{scrartcl}
\usepackage{color}

\definecolor{grey}{rgb}{0.8,0.8,0.8}

\newcounter{semexcount}
\newlength{\semexcountl}

\makeatletter
\@addtoreset{semexcount}{subsection}

\newcommand\listsemexname{Kommentare zu den Beispielen}
\newcommand\listofsemex{%
\section*{\listsemexname}\@starttoc{examples}}

\makeatother


\newenvironment{semex}[2]{%
\setlength{\fboxsep}{6pt} \smallskip \\
\fcolorbox{white}{grey}{%
\parbox{0.8\textwidth}{\textsf{#1}}
}
\stepcounter{semexcount} \hfill \textbf{\thesubsection-\thesemexcount} \smallskip
\settowidth{\semexcountl}{\textbf{\thesubsection-\thesemexcount}}
\label{semex:\thesubsection-\thesemexcount}
\addtocontents{examples}{%
\textbf{\thesubsection-\thesemexcount} \indent \textsf{{#2}}{}\\}
}

\begin{document}

\section{bla}
bla bla bla
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\subsection{blubb}
blubb blubb blubb
\semex{%
text
}{kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\section{bla blubb}
bla blub bla blub bla blub
\semex{%
text
}{kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\section{bla blubb}
bla blub bla blub bla blub
\semex{%
text
}{kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar}\\
\subsection{blubb}
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\appendix

\section*{Anhang}

\listofsemex

\end{document}

Das Beispiel oben setzt ein neues Verzeichnis auf, d. h. es funktioniert ohne \savebox. Jetzt fehlt mir nur noch eine Möglichkeit die Liste im Anhang zu formatieren,
dass die Einträge alle mit Einzug und linksbündig sind. Es gibt einen hässlichen Absatz, wenn die Zahlen länger sind und wenn der Text länger als die Zeile ist.

Danke

ls21lam
14-08-2014, 09:09
Das erste Prblem mit der Ausrichtung kann mit einer \makebox gelöst werden. Fehlt noch der Einzug.


\newenvironment{semex}[2]{%
\setlength{\fboxsep}{6pt} \smallskip \\
\fcolorbox{white}{grey}{%
\parbox{0.8\textwidth}{\textsf{#1}}
}
\stepcounter{semexcount} \hfill \textbf{\thesubsection-\thesemexcount} \smallskip
\settowidth{\semexcountl}{\textbf{\thesubsection-\thesemexcount}}
\label{semex:\thesubsection-\thesemexcount}
\addtocontents{examples}{%
\textbf{\protect\makebox[1cm][l]{\thesubsection-\thesemexcount}} \indent \textsf{{#2}}{}\\}
}

Grüße

ls21lam
14-08-2014, 10:12
Problem gelöst.

Der folgende Code liefert mir eine nummerierte Box mit Beispielen und ein Verzeichnis der Kommentare zu den Beispielen.



\documentclass{scrartcl}
\usepackage{color}
\usepackage{tocloft}

\definecolor{grey}{rgb}{0.8,0.8,0.8}

\newcounter{semexcount}
\newlength{\semexcountl}

\makeatletter
\@addtoreset{semexcount}{subsection}

\newcommand\listsemexname{Kommentare zu den Beispielen}
\newcommand\listofsemex{%
\section*{\listsemexname}\@starttoc{examples}}

\makeatother


\newenvironment{semex}[2]{%
\setlength{\fboxsep}{6pt} \smallskip \\
\fcolorbox{white}{grey}{%
\parbox{0.8\textwidth}{\textsf{#1}}
}
\stepcounter{semexcount} \hfill \textbf{\thesubsection-\thesemexcount} \smallskip
\settowidth{\semexcountl}{\textbf{\thesubsection-\thesemexcount}}
\label{semex:\thesubsection-\thesemexcount}
\addtocontents{examples}{%
\textbf{\protect\makebox[1.4cm][l]{%
\thesubsection-\thesemexcount}} \protect\makebox[.9\textwidth][l]{%
\protect\parbox[t]{.9\textwidth}{{#2}{}}}\\\medskip}
}

\begin{document}

\section{bla}
bla bla bla
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\subsection{blubb}
blubb blubb blubb
\semex{%
text
}{kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\section{bla blubb}
bla blub bla blub bla blub
\semex{%
text
}{kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\section{bla blubb}
bla blub bla blub bla blub
\semex{%
text
}{kommentar kommentar}\\
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
\semex{%
text
}{kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar kommentar}\\
\subsection{blubb}
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text text text text text text text text text text text text text text text
}{kommentar kommentar kommentar kommentar}\\
blubb blubb blubb
\semex{%
text
}{kommentar kommentar kommentar kommentar}\\

\appendix

\section*{Anhang}

\listofsemex

\end{document}

rais
14-08-2014, 14:54
Der folgende Code liefert mir eine nummerierte Box mit Beispielen und ein Verzeichnis der Kommentare zu den Beispielen.

auf 1.1-3 folgt 2.0-4, ist das beabsichtigt?
Du könntest dem \newcounter das optionale Argument für die Bindung an den subsection-Zähler mitgeben, dadurch könntest Du den \@addtoreset einsparen. Wo ich schon bei `sparen' bin: Wenn Du dann noch \thesemexcount umdefinerst, daß dieser den subsection-Zähler gleich mit azusgibt, könntest Du alle \thesubsection-\thesemexcount durch \thesemexcount ersetzen.


\newcounter{semexcount}[subsection]
\renewcommand*\thesemexcount{\thesubsection-\arabic{semexcount}}

Wenn Du dann zusätzlich \@addtoreset{semexcount}{section} deklarierst, würde auf 1.1-3 2.0-1 folgen, wobei ich mich als Leser fragen würde, was es mit dieser Null auf sich haben mag.

Warum Du aber eine Umgebung `semex' deklarierst und diese dann im Text als Befehl aufrufst, ist mir schleierhaft.

MfG