Ulrich D i e z
unread,Nov 18, 2012, 2:08:07 PM11/18/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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