Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Ersetzen von Text durch Punkte

  1. #1
    Registrierter Benutzer
    Registriert seit
    13.09.2006
    Beiträge
    21

    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

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von olfab Beitrag anzeigen
    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
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.03.2010
    Ort
    St. Petersburg, Russland
    Beiträge
    2.468
    Rainer, damit kann aber immer noch kein mehrzeiliger Text durch Punkte ersetzt werden.

  4. #4
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Zitat Zitat von rstuby Beitrag anzeigen
    Rainer, damit kann aber immer noch kein mehrzeiliger Text durch Punkte ersetzt werden.
    er sprach ja auch nur von `horizontaler Ausdehnung'.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  5. #5
    Registrierter Benutzer
    Registriert seit
    13.09.2006
    Beiträge
    21
    Ich meine tatsächlich das Ersetzen von mehrzeiligen Text durch Punkte, die aneinandergereiht die gleiche horizontale Ausdehnung haben wie der Text.

    Oliver

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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/questio...hting-in-latex

  7. #7
    Registrierter Benutzer
    Registriert seit
    13.09.2006
    Beiträge
    21
    Ulrike, ich bekomme das leider mit den Infos leider nicht hin. Wie würde denn die Lösung mit einer Linie aussehen?

  8. #8
    ctansearch
    Gast
    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.

  9. #9
    Registrierter Benutzer Avatar von cgnieder
    Registriert seit
    06.04.2011
    Ort
    Herrenberg
    Beiträge
    254
    Wie wär's hiermit:

    Code:
    \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
    Clemens

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Nett. Wie misst oder ersetzt du denn den Text? (Grob)

  11. #11
    Registrierter Benutzer Avatar von cgnieder
    Registriert seit
    06.04.2011
    Ort
    Herrenberg
    Beiträge
    254
    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):

    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ß
    Clemens

  12. #12
    Registrierter Benutzer
    Registriert seit
    13.09.2006
    Beiträge
    21
    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

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    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.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •