Variable Schriftformatierung

Variable Schriftformatierung

Ich möchte eine LaTeX-Funktion erstellen, die: (1) einen String als Argument verwendet, (2) die Länge des Strings berechnet, (3) die Länge durch 3 teilt, (3) eine Formatierungsart auf das erste Drittel des Strings anwendet, eine andere Formatierung auf das mittlere Drittel des Strings und dann eine weitere Formatierung auf den verbleibenden Teil des Strings.

Gibt es eine Möglichkeit, dies zu tun?

Antwort1

Nachfolgend wird ein Ansatz beschrieben, bei dem das fpPaket für Berechnungen und das xstringPaket für die Zeichenfolgenaufteilung verwendet werden. Die Formatierungsbefehle sind fest codiert, in diesem Fall fett, blau und große Schriftart.

Code:

\documentclass{article}
\usepackage{xstring}
\usepackage{fp}
\usepackage{xcolor}
\newcommand{\divprint}[1]{%
\StrLen{#1}[\mylen]% get length of string
\FPeval\x{clip(round(\mylen/3,0))}% divide by 3, round on 0 decimal places, clip any trailing zeroes
\StrSplit{#1}{\x}{\strA}{\strBC}% split string on the calculated position
\StrSplit{\strBC}{\x}{\strB}{\strC}% split remaining string
\textbf{\strA}\textcolor{blue}{\strB}\Large\strC\normalsize% print formatted string
}
\begin{document}
\divprint{fourfourfour}

\divprint{random string}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

verwandte Informationen