Wort auf bestimmte länge strecken.

Schriftbild, Absätze und Auflistungen einstellen


godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Wort auf bestimmte länge strecken.

Beitrag von godi »

Hallo,

ich möchte ein Wort / Buchstabenfolge auf eine gewisse Länge strecken.
Ich habe mir schon das Paket soul angesehen, jedoch habe ich keine Längenangabe für das ganze Wort gefunden.

Hier ein Beispiel:
\documentclass[]{scrartcl}
\usepackage{soul}

\newlength{\lengthName}

\newcommand \test[2]{
	\settowidth{\lengthName}{\tiny{#2}}
	\parbox[tt]{\lengthName}{\so{#1}\newline\tiny{#2}}		
}

\begin{document}
\test{GODI}{go\LaTeX -Forum}
\end{document}
In diesem Beispiel würde ich gerne den Parameter 1 auf die Länge des Parameters 2 (\lengthName) strecken.

Wäre super wenn ich einen Tipp bekomme wie ich Wörter strecken kann. :)
Ich habe leider noch nicht das passende gefunden.

godi

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

Beitrag von u_fischer »

\documentclass[]{scrartcl}
\usepackage{calc}

\begin{document}
\begin{tabular}{l}
G\hfill O\hfill B\hfill I\\
\makebox[\widthof{\tiny go\LaTeX -Forum}][s]{G O B I}\\
\tiny go\LaTeX -Forum
\end{tabular}
\end{document}

godi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 75
Registriert: Mi 11. Feb 2015, 13:49

Beitrag von godi »

Danke!

Auf \hfill hätte ich auch kommen können. ;)
Aber jetzt habe ich gewusst nach was ich suchen kann und dadurch habe ich auch eine schöne (lange ;) ) Lösung gefunden.
Siehe:
http://tex.stackexchange.com/questions/ ... 1860#61860

Mein erweitertes Bsp:
\documentclass[]{scrartcl}

\newlength{\lengthName}

\makeatletter
\def\addhfills#1{%
    % rescan the argument with catcode 12 for spaces (so that they aren't ignored).
    \begingroup\catcode` =12\relax\xdef\tmp{\scantokens{#1\noexpand}}\endgroup%
    \expandafter\addhfills@@\tmp\addhfills@end%
}
% save catcode 12 space
\begingroup\catcode` =12\relax\gdef\otherspace{ }\endgroup
% an end marker
\def\addhfills@end{\relax}

\def\addhfills@@#1{#1\addhfills@@@}
\def\addhfills@@@#1{%
    \ifx#1\addhfills@end\else%
        \def\tmp{#1}%
        \ifx\tmp\otherspace%
            \hfill\hfill%
        \else%
            \hfill#1%
        \fi%
        \expandafter\addhfills@@@%
    \fi%
}
\makeatother

\newcommand \test[2]{
	\settowidth{\lengthName}{\tiny{#2}}
	\parbox[tt]{\lengthName}{\addhfills{#1}\newline\tiny{#2}}		
}


\begin{document}
\test{GODI}{go\LaTeX -Forum}
\end{document}

Antworten