Anzeige:
Ergebnis 1 bis 10 von 10

Thema: TextField in Hyperref Form

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.01.2009
    Beiträge
    36

    TextField in Hyperref Form

    Moin
    Ich würde gerne bei den Textfeldern das Label entweder weglassen oder das Feld eine Zeile unter das Label setzen. Bekomme das aber nicht hin.
    Wenn ich den Beschriftungstext einfach leer Lasse
    Code:
    \TextField[width=3cm]{}
    dann wird das Feld erst gar nicht erzeugt.
    Desweiteren möchte ich ein Feld zum eintragen eines Datums definieren, also entweder
    Code:
    [][].[][].[][][][]
    oder ein einzelnes Feld das entsprechend vorformatiert ist.
    Wer kann helfen?

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    meinst du sowas:
    Code:
    \documentclass{scrreprt}
    \usepackage{hyperref}
    \begin{document}
    \begin{Form}
     \TextField{\mbox{}}
    \end{Form}
    \end{document}
    Ansonsten mache bitte erstmal ein Minimalbeispiel.

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.01.2009
    Beiträge
    36
    Dein Beispiel erzeugt bei mir auch nichts.
    Ich habe in etwa so
    Code:
    \documentclass{scrreprt}
    \usepackage{hyperref}
    \begin{document}
    \begin{Form}
     \TextField[width=3cm,value={d}]{ }
    \end{Form}
    \end{document}
    So lange ich dem TextField irgendeinen String, und sei es nur ein Leerzeichen, übergebe wird die box erzeugt. Wenn ich aber schreibe
    Code:
    \TextField[width=3cm,value={d}]{}
    wird die box im PDF nicht angezeigt. Keine Fehlermeldung, der übrige Text wird normal erzeugt.
    Ich kann aber auch kein Leerzeichen gebrauchen da die Felder teilweise einfach im Text stehen (im Prinzip wie ein Lückentext).

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Einen Label braucht so ein Feld schon, und zwar einen eindeutigen (gib mal in Feld ein was ein und drücke enter oder tab, dann merkst du warum), du kannst aber den Druck des Labels unterdrücken.



    Code:
    \documentclass[parskip]{scrreprt}
    \usepackage{hyperref}
    \def\LayoutTextField#1#2{% label, field
      \leavevmode#2%
    }
    \begin{document}
    abc
    
    \begin{Form}
    \TextField[width=3cm]{Feld1}
    
    \TextField[width=3cm]{Feld2}
    
    \TextField[width=3cm]{Feld1}
    \end{Form}
    \end{document}
    Ulrike Fischer

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.01.2009
    Beiträge
    36
    Ok werd ich mal versuchen, danke.
    Kann ich das Label alternativ auch einfach ÜBER dem Feld platzieren? Würde evtl auch helfen.

    Wenn ich das selbe mit den Checkfields versuche klappt das nicht, dazu ne Idee?
    Geändert von philharmony (09-07-2009 um 13:31 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Selbstverständlich. Wenn der Original \LayoutTextField die beiden Argumente #1 und #2 nebeneinander druckt, und mein \LayoutTextField #1 gar nicht druckt, dann wird es wohl auch möglich sein, die beiden übereinander zu drucken.

    Code:
    \def\LayoutTextField#1#2{% label, field
     #1\\[1ex]
      #2%
    }
    Ulrike Fischer

  7. #7
    Registrierter Benutzer
    Registriert seit
    17.01.2009
    Beiträge
    36
    Sorry für die blöden Fragen. Bin eigentlich Lyx-User und arbeite mich grade so Stückchen für Stückchen in LaTex ein. Bei manchem habe ich schlicht noch zu viele Fragezeichen.
    Zum Beispiel der o.g. Synthax.
    Ich hole mir doch damit quasi den #1. und #2. "Teil" dessen was da erzeug wird und "baue" ihn neu zusammen? Wenn ich Schlichtweg
    Code:
    \def\LayoutTextField#1#2{% label, field
     #2#1
    }
    schreibe, müßte er doch einfach die beiden Teile vertauschen? Das klappt aber wieder nicht, sondern habe ich nach dem Tip in einem anderen Beitrag so gemacht
    Code:
    \renewcommand{\LayoutCheckField}[2]{\mbox{#2}\,#1}
    Wobei sich mir auch hier der Synthax nicht so ganz erschließt, zb wann denn nu ein backslash kommt und wann nicht und wenn ja warum...

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    so geht es.
    Code:
    \documentclass[parskip]{scrreprt}
    \usepackage{hyperref}
    \def\LayoutTextField#1#2{% label, field
      \leavevmode#2#1%
    }
    
    \begin{document}
    \begin{Form}
    \TextField[width=3cm]{Feld1}
    \end{Form}
    \end{document}
    Was meinst du mit backslash? Meinst du die Anweisung \, ? Das ist nur ein vordefinierter Freiraum.

    Gruß
    Marco

  9. #9
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    #2, also das "Feld", darf nicht im vertikalen Modus benutzt werden, dh. nicht zwischen Absätzen. Du musst zuerst eine Zeile beginnen, zB. durch beliebigen Text, #1, \leavevmode (=verlasse vertikalen Modus), \indent, \mbox{}...

    Ulrike Fischer

  10. #10
    Registrierter Benutzer
    Registriert seit
    17.01.2009
    Beiträge
    36
    Dh daß das Feld nicht an Stelle 1 nach einem Absatz kommen darf? Weil das wiederrum ging mit dem anderen Befehl...
    Hätt ich doch nur Zeit mich dem Dicken LateX Buch aus der Bib zu widmen

Lesezeichen

Berechtigungen

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