Absatz nummerieren

Schriftbild, Absätze und Auflistungen einstellen
Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Absatz nummerieren

Beitrag von Waschmaschiene »

Gerne möchte ich folgendes machen wie in diesem Paper auf Seite 742 mitte beim Satz


(1) The heartbeat in vertebrates has the function of circulating the blood through the organism


Ich möchte, dass ich die (1) mit einem \label Befehl markieren kann und wenn ich mich dann darauf beziehe nur noch den \ref Befehl verwenden und dann sollte dort stehen (1)

Der Satz sollte ebenso eingezogen werden wie im Paper. Ein weiteres Beispiel befindet sich etwas weiter unten.


Ihr habt mir hier bereits gezeigt wie man eigene Befehle definieren kann. Also noch dem Muster:

\newcommand*{\eigene}[1]{\textit{#1}}

Nützlich wäre jetzt ein Befehl, der mir genau dies alles macht und ich dann nur noch ein Codewort für den jeweiligen Absatz schreiben müsste. Ich weiss aber nicht wie ich diesen definieren soll und vor allem dem \label Befehl sagen soll, dass es mir nur um die Zahl vor dem hervorgehobenen Satz geht.

EDIT: Optimal wäre, wenn die Zahl selber mutieren würde, wenn ich den entsprechenden Absatz verändere. Wenn also der Satz (1) nun nicht mehr der erste Satz wäre, sondern der Zweite. Dann sollte aus (1) natürlich (2) werden.


Das Minimalbeispiel mit dem ich arbeite ist folgendes

Code: Alles auswählen

\documentclass[a4paper,12pt]{report}

\usepackage{geometry}
\geometry{a4paper,left=30mm,right=30mm, top=2cm, bottom=2.1cm} 


\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx} 
\usepackage[onehalfspacing]{setspace}

\usepackage{titlesec} 
\titleformat{\chapter}{\bfseries\Large}{\thechapter.\quad}{0em}{}
\AtBeginDocument{\renewcommand{\chaptername}{}}
\titleformat{\section}{\bfseries\large}{\thesection.\quad}{0em}{}

\setcounter{tocdepth}{1}
\setcounter{secnumdepth}{2} 

\usepackage{chngcntr} 
\counterwithout{footnote}{chapter}


\usepackage[hidelinks]{hyperref}
%ermöglicht Querverweise im Text mit den Befehl \label und \nameref \ref \pageref

\usepackage {enumitem} 
\setlist[enumerate,1]{noitemsep} 
% Mit diesem Packet sind Aufzählungen möglich, die sich mit einer beliebigen Nummerierung fortsetzen lassen. 

\usepackage{titlesec} 
% Ist dazu, da die Kapitel zu gestalten. 
\titlespacing{\chapter}{0pt}{-2em}{10pt}

\begin{document}


\end{document}


Dateianhänge
cummins.functions.1975 gedruckt.pdf
(946.19 KiB) 543-mal heruntergeladen

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 1997
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Absätze mit mutierenden Zahlen :-) bzw. nummerierte Umgebungen mit automatischen Zählen kann man klassisch mit theorem-Umgebungen machen. Außer für Theoreme, Definitionen, Beispiele uvm. eignen sie sich ganz allgemein für automatisch nummerierte Textstellen mit eigenem Design, auf die man verweisen kann.

Siehe Vergleich theorem-Pakete für geeignete Pakete mit Verweis auf die Paketseiten. Wenn Du dort den Button "theorem" klickst, findest Du noch mehr Fragen und Antworten mit Beispielen hierzu.

Stefan

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag von Waschmaschiene »

danke vielmals

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4014
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Du brauchst einfach nur einen Zähler und \refstepcounter:

Code: Alles auswählen

\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\newcounter{parnum}
\renewcommand\theparnum{(\arabic{parnum})}
\newcommand\parnum[1]{%
 \par\refstepcounter{parnum}\label{#1}\theparnum}   
\begin{document}

\lipsum[1]

\parnum{a} Mein nummerierter Absatz

blalbla \ref{a}, blalb \ref{b}

\parnum{b} Mein nummerierter Absatz


\end{document}

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag von Waschmaschiene »

Danke Ulrike.

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag von Waschmaschiene »

Ich habe jetzt die Lösung von Ulrike umgesetzt. Und diese wie folgt ergänzt


Code: Alles auswählen

\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\newcounter{parnum}
\renewcommand\theparnum{(\arabic{parnum})}
\newcommand\parnum[1]{%
 \par\refstepcounter{parnum}\label{#1}\theparnum}   
\begin{document}


%Durch Maschine ergänzt

\newcommand*{\leit}[1]{\small{#1}}

%Und dann den Befehl wie folgt gesetzt 

\begin{quote} \leit{\parnum{a}\hspace{0.1cm} Das Herz pumpt Blut durch einen Organismus.}\end{quote}


 \begin{quote} \leit{\parnum{c}\hspace{0.1cm} Durch das öffnen der Segelkappe strömt das Blut aus dem Vorhof in die Herzkammer und wird von dort durch eine Kontraktion des Herzmuskels in den übrigen Körper gepumpt.}\end{quote}

Wie \ref{a} und \ref{c} zu entnehmen ist.....

\end{document}


Optisch sieht es nun genau so aus wie ich will. Aber es müsste doch noch irgendwie geschickter gehen, als noch den Quotebefehl und \hspace hinzuzufügen. Ich habe versucht den Spacebefehl in mein \leit einzubinden. Das hat aber nicht geklappt.

Liebe Grüsse
Maschine
Zuletzt geändert von Waschmaschiene am Do 28. Mai 2015, 10:46, insgesamt 2-mal geändert.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4014
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Die Umsetzung ist doch sinnlos. Du kodierst fest "\parnum{a}". Damit hat jeder Absatz den gleichen Label und spätestens beim zweiten bekommst du eine Warnung. Versuche doch erstmal den Code zu verstehen.

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag von Waschmaschiene »

?

Nein in meinem File werden die Absätze so nummeriert wie ich es will.

Absatz 1 mit \parnum{a)

dann \ref{a}

Absatz 3 mit \parnum{c}

und wenn ich mich darauf beziehe wieder \ref{c}

etc.

Ich habe oben im Code nur nur auf weitere Absätze verzichtet, damit klar ist was mutiert habe.

Oder habe ich etwas anderes nicht verstanden?


Es geht mir nur noch um den Einzug und das nach der Zahl welche der panum Befehl ausspuckt auch einen kleinen Abstand kommt.
Grundsätzlich bin ich mit der Lösung zufrieden. Ich würde es nur gerne eleganter machen, als mit 3 weiteren separaten Befehlen.



EDIT: Ich habe das Beispiel oben nun ergänzt. Schön wäre es wenn sich die Zahl noch so vom übrigen Abschnitt abheben würde, wie in der Beispieldatei. Also wenn auch ein mehrzeiliger Abschnitt zur Zahl verschoben wäre.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4014
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Entschuldigung, ich hatte dich missverstanden. Ich würde es so machen:

Code: Alles auswählen

\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\newcounter{parnum}
\renewcommand\theparnum{(\arabic{parnum})}
\newcommand\parnum[1]{%
 \par\refstepcounter{parnum}\label{#1}\theparnum}

\newcommand*{\leit}[2]{\begin{quote}\parnum{#1}\hspace{0.1cm}\small #2\end{quote}}

\begin{document}


\leit{a}{Das Herz pumpt Blut durch einen Organismus.}

\leit{c}{Durch das öffnen der Segelkappe strömt das Blut aus dem Vorhof in die Herzkammer und wird von dort durch eine Kontraktion des Herzmuskels in den übrigen Körper gepumpt.}

Wie \ref{a} und \ref{c} zu entnehmen ist.....

\end{document}
Evtl wäre es sinnvoller eine leit-Umgebung statt eines Befehls zu definieren.

Waschmaschiene
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: Mi 7. Jan 2015, 07:22

Beitrag von Waschmaschiene »

Danke.

Für mich war bis jetzt nicht klar, wie man die Nummerierung angeben muss, wenn man einen eigenen Befehl macht.

Wieso ist jetzt bei 1 der parnunmbefehl und quote befehl und bei 2 small und der Abstand?

Spielt es eine Rolle welche Befehlsart ich zu einer Gruppe zusammenfasse?

Antworten