Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

soul-package - Zeilenwechsel als "Trigger"? / \leaders anstueckeln?

6 views
Skip to first unread message

Ulrich D i e z

unread,
Nov 18, 2012, 2:08:07 PM11/18/12
to
Hallo,

ich trage mich mit dem Gedanken, mit dem soul-Package von
Melchior Franz (hyphenatable letter-spacing (spacing out),
underlining, overstriking, highlighting) etwas zu basteln.

In der Dokumentation zu Version 2.4 2003/11/17, unter Kapitel 7,
wird der allem zugrundeliegende Kern ein bisschen erklärt und
unter 7.2 werden diverse Interface-Register und -Makros erklärt.

Was mich interessiert, ist, ob es eine Möglichkeit gibt, immer
dann einzuhaken, wenn beim Ausgeben die Zeile gewechselt wird.
Darüber habe ich leider nichts gefunden.

Ich müsste wohl die "Implementation" durchgehen, bin aber im
Moment etwas faul und frage deshalb lieber erstmal in die Runde,
ob mehr oder weniger zufällig jemand bereits weiss, ob ich da
bei einem Makro des soul-Package einhaken könnte bzw bei
welchem Makro des soul-Package ich einhaken könnte.

( Etwas konkreter geht es darum, dass beim Unterstreichen mit
\leaders gearbeitet wird. Ich hätte gerne eine gepunktete Linie.
Um zu erreichen, dass beim Aneinanderstückeln der \leaders,
welche unter die einzelnen Worte/Silben/Zwischenräume gesetzt
werden, keine Punkte fehlen, hätte ich gerne die Box für die
\leaders so gemacht, dass sie einen Punkt in einer \hbox mit
der Breite des Abstandes der Punkte voneinander und
links davon die selbe \hbox in einer \llap-Konstruktion enthält.
Das \llap allerdings nicht bei den \leaders unter der ersten Silbe
und auch nicht bei den \leaders derjenigen Silben/Worte, die
nach einem Zeilenwechsel direkt am Zeilenanfang stehen, da
sonst die gepunkteten Linien mit einem Punkt zu weit links
anfangen.

Oder hat jemand eine bessere Idee, wie man \leaders
zusammenstückeln kann, ohne, dass zwischendurch
etwas fehlt?

Im folgenden Minimalbeispiel habe ich statt gepunkteten Linien
zwecks Anschaulichkeit Kästchen zusammenstückeln lassen:



\documentclass{minimal}

\newlength\myboxwidth
\myboxwidth=5mm
\advance\myboxwidth -\fboxrule
\advance\myboxwidth -2\fboxsep
\newcommand\innerleaderbox{\fbox{\rule{\myboxwidth}{0cm}}\kern-\fboxrule}
\newcommand\leaderbox{\hbox to 5mm{\llap\innerleaderbox\innerleaderbox}}
\newcommand\firstleaderbox{\hbox to 5mm{\innerleaderbox}}

\begin{document}

\leavevmode X\hskip2cmY
\bigskip

Hier fehlt nichts, es wird aber auch nicht zusammengestueckelt
und so sollte es auch aussehen, wenn angestueckelt wird:

\leavevmode\null\leaders\firstleaderbox\hskip2.5cm\null
\bigskip

Hier fehlt wegen des Anstueckelns der \verb|\leaders| ein
Kaestchen:

\leavevmode\null\leaders\firstleaderbox\hskip1.5cm%
\leaders\firstleaderbox\hskip 1cm\null
\bigskip

Hier ist links wegen der bei jeder \verb|\leaders|-Box
mitgelieferten \verb|\llap|-Box ein Kaestchen zuviel:

\leavevmode\null\leaders\leaderbox\hskip2.5cm\null
\bigskip

Hier wird bei den ersten \verb|\leaders| der Zeile vom
\verb|\llap|-Kaestchen abgesehen, bei den folgenden, daran
anzustueckelnden \verb|\leaders| jedoch nicht und die Sache
scheint gut auszusehen:

\leavevmode\null\leaders\firstleaderbox\hskip1.5cm%
\leaders\leaderbox\hskip 1cm\null
\bigskip

\end{document}


)


Mit freundlichem Gruß

Ulrich
0 new messages