Archiv verlassen und diese Seite im Standarddesign anzeigen : Ersetzen von Text durch Punkte
Hallo Forum,
ich möchte Text, auch mehrzeiligen Text, durch Punkte ersetzen, welche den gleichen horizontale Ausdehnung haben wie der Text. Zum Beispiel:
"Das ist ein Test."
"......................"
Ich erreiche das mit:
\newlength{\bla}
\newcommand{\leer}[1]{\settowidth{\bla}{#1}\makebox[\bla][s]{\dotfill}}
Das funktionier aber leider nur, wenn im Originaltext kein Zeilenumbruch ist. Bei einem Zeilenumbruch des Originaltextes, ragen die Punkte über den Rand hinaus.
Hat jemand von Euch eine Idee,
wie das richtig geht?
Dank und Gruß,
Oliver
Moin moin,
ich möchte Text, auch mehrzeiligen Text, durch Punkte ersetzen, welche den gleichen horizontale Ausdehnung haben wie der Text. Zum Beispiel:
"Das ist ein Test."
"......................"
Ich erreiche das mit:
\newlength{\bla}
\newcommand{\leer}[1]{\settowidth{\bla}{#1}\makebox[\bla][s]{\dotfill}}
Das funktionier aber leider nur, wenn im Originaltext kein Zeilenumbruch ist. Bei einem Zeilenumbruch des Originaltextes, ragen die Punkte über den Rand hinaus.
Du könntest mit \ifdim schauen, ob \bla größer als \linewidth ist und dann entsprechend per \setlength \bla auf \linewidth begrenzen.
MfG
Rainer, damit kann aber immer noch kein mehrzeiliger Text durch Punkte ersetzt werden.
Rainer, damit kann aber immer noch kein mehrzeiliger Text durch Punkte ersetzt werden.
er sprach ja auch nur von `horizontaler Ausdehnung'.
MfG
Ich meine tatsächlich das Ersetzen von mehrzeiligen Text durch Punkte, die aneinandergereiht die gleiche horizontale Ausdehnung haben wie der Text.
Oliver
u_fischer
23-04-2013, 13:45
Linien wäre nicht so schwer, das ginge relativ einfach mit soul. Aber die Punkte sollten ja gleichmäßige Abstände haben, also kann man nicht einfach einen Buchstaben durch 1 oder 2 Punkte ersetzen. Da musst du wahrscheinlich zusätzlich tikz-einsetzen.
http://tex.stackexchange.com/questions/5959/cool-text-highlighting-in-latex
Ulrike, ich bekomme das leider mit den Infos leider nicht hin. Wie würde denn die Lösung mit einer Linie aussehen?
ctansearch
24-04-2013, 23:23
Habe mich mit dem Problem befasst, aber letztlich bleibt doch die Frage, wozu das Ganze dienen soll.
Die Ersetzung des Textes durch Punkte ist doch offensichtlich eine Auslassung, für die keine Dimensionen benötigt werden. Man schreibt einfach ... ... und gut. Alles andere ist Platzverschwendung.
Falls ein Platzhalter für den gesamten Text benötigt wird, also ein Raum, der den Platz des Textes einnimmt, ohne ihn auszugeben, genügt es, den Abschnitt per \textcolor(white}{text} auszublenden.
Ansonsten könnte man einen Fontdesigner ansprechen, der einen "Dotfont" entwickelt, der alle Buchstaben durch Punkte ersetzt.
cgnieder
25-04-2013, 11:06
Wie wär's hiermit:
\documentclass{article}
\usepackage{exsheets}
\SetupExSheets{blank/style=dotted}
\begin{document}
\blank{Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.}
\end{document}
Grüße
u_fischer
25-04-2013, 14:40
Nett. Wie misst oder ersetzt du denn den Text? (Grob)
cgnieder
25-04-2013, 15:55
Die Grundidee hab ich mal bei einem Post von Heiko Oberdiek in d.c.t.t. aufgeschnappt (ich finde den Originalpost gerade nicht, aber ich habe den Code):
\makeatletter
\newcommand*{\luecke}{%
\begingroup
\setlength{\dimen@}{6cm}%
\ifdim\dimen@>2em %
\underline{\hspace{1em}}%
\advance\dimen@ by -2em\relax
\@whiledim\dimen@>0pt\do{%
\penalty\hyphenpenalty
\ifdim\dimen@<1pt %
\underline{\hspace{\dimen@}}%
\else
\underline{\hspace{1pt}}%
\fi
\advance\dimen@ by -1pt %
}%
\underline{\hspace{1em}}%
\else
\underline{\hspace{\dimen@}}%
\fi
\endgroup
}
\makeatother
Gruß
Die Kompilation des Beispielquelltextes bricht mit der Fehlermeldung "Support package expl3 too old" ab.
Ich arbeite mit einer recht alten MikTex 2.9-Version. Wenn ich mir die zu aktualisierenden Pakete anschaue, soll amslatex gelöscht werden. Ohne amlatex funktioniert jedoch mein Quelltext nicht mehr. Wie kann ich trotzdem die Fehlermeldung abstellen? Ich finde das Paket expl3 nicht.
Oliver
u_fischer
26-04-2013, 10:58
amsmath kannst du später wieder installieren. Das Paket wurde nur umsortiert/umbenannt. Also mache die Updates (im User + Adminmodus). Starte danach den Paketmanager und synchronisiere das Repository. Anschließend können fehlende Pakete per on-the-fly neu installiert werden.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.