Seite 1 von 1

Auszeichnung des ersten Wortes nach Abschnittsbeginn

Verfasst: Mo 30. Nov 2015, 10:10
von die_nase
Hallo zusammen,

ich habe eine Frage bezüglich der Auszeichnung des ersten Wortes nach dem Anfang eines neuen Abschnittes. Wie lässt sich allgemein einstellen, dass dieses Wort eine bestimmte Auszeichnung erhält, also kursiv oder fett?

Da ich leider nicht einmal einen Ansatz für eine mögliche Lösung habe, poste ich hier nur ein knappes MB, in der Hoffnung, dass ihr mir ein paar Tipps/Hinweise geben könnt.

Aussehen sollte es am Ende in etwa so:
\documentclass{scrartcl}
\usepackage{blindtext}

\begin{document}

\section{Abschnitt}
{\bfseries Lorem} ipsum dolor sit \ldots

\section{Abschnitt}
{\bfseries Lorem} ipsum dolor sit \ldots

\section{Abschnitt}
{\bfseries Lorem} ipsum dolor sit \ldots

\end{document}
Müsste man da \section umdefinieren? Generell würde es mich interessieren, ob und wie Latex Satzanfänge, die ersten Wörter nach Absätzen (also nach \par) und nach neuen Abschnitten erkennt.

MB:
\documentclass{scrartcl}
\usepackage{blindtext}

\begin{document}

\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\section{Abschnitt}
\blindtext

\end{document}
Viele Grüße

Verfasst: Mo 30. Nov 2015, 12:11
von Besserwisser
Zuverlässig das erste Wort eines Absatzes zu erkennen, dürfte mit TeX eine aufwändige Geschichte werden. Erste Idee wäre natürlich, mit einem delimited argument zu arbeiten und als Begrenzung ein Leerzeichen zu verwenden. Aber, wie ist das dann, wenn der Absatz beispielsweise mit \automark{sec:Ein Problem} beginnt oder mit »Manchmal, wenn« oder tatsächlich mit einem Satz in Anführungszeichen oder mit Mathematik oder mit …

Verfasst: Mo 30. Nov 2015, 18:39
von die_nase
Hallo Besserwisser,

danke für Deine Antwort. Ich habe mich eben versucht ein bisschen zu informieren; es scheint doch ein recht kompliziertes Problem zu sein (..weshalb ich dafür wahrscheinlich auch keine Lösung in anderen Foren gefunden habe). Dann bleibt wohl nur eine händische Lösung ala Copy & Paste.

..oder hat jemand vielleicht noch jemand eine andere Idee?

Viele Grüße

Verfasst: Mo 30. Nov 2015, 19:19
von u_fischer
Nun, sowas geht
\documentclass[a4paper,12pt]{article}
\makeatletter
\def\grabword#1 {\textbf{[#1]} }

\def\@afterheading{%
  \@nobreaktrue
  \everypar{%
    \if@nobreak
      \@nobreakfalse
      \clubpenalty \@M
      \if@afterindent \else
        {\setbox\z@\lastbox}%
      \fi
      \expandafter\@firstoftwo
    \else
      \clubpenalty \@clubpenalty
      \everypar{}%
      \expandafter\@secondoftwo
    \fi{\grabword}{}}}
\makeatother    
\begin{document}
\section{abc}
blblb blblb 

abc  abc bllb 

abc  abc bllb 
 
\end{document}
Aber ich würde es vorsichtig benutzen. Diese Tricks können schnell explodieren, wenn das erste "Wort" irgendwie seltsam ist.

Verfasst: Mi 2. Dez 2015, 23:18
von die_nase
Hallo Ulrike,

wow! Vielen Dank, Deine Lösung funktioniert super. Ich habe bis jetzt nur ein wenig experimentiert und bei normalem Text klappt es gut (Mathe geht auch, benötige ich jedoch nicht).

Um welche Art der "Programmierung" handelt es sich bei deiner Lösung? - Ist das tiefergehendes Tex? Hast Du evtl. noch ein, zwei Literaturtipps oder ein Stichwort zu diesem Thema?