ChoiceMenu Radiogroup

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: ChoiceMenu Radiogroup

Re: ChoiceMenu Radiogroup

von simonk » Mi 21. Mai 2025, 01:09

Hi,
sorry für's ausgraben dieses Threads. Ich habe den Thread bei meiner Recherche gefunden und hatte wahrscheinlich das gleiche Problem: Evince akzeptiert Eingaben an RadioBoxen nicht ordentlich, wenn diese mit mehreren \ChoiceMenu Statements mit gleichem Namen erzeugt wurden. Beim dritten Klick hin und her, ändert sich die Auswahl nicht mehr. Das liegt wohl daran, dass hyperref jeweils das erste Element eines ChoiceMenus in eine Art Liste einfügt und alle weiteren Optionen nicht. Im Adobe Reader zeigt sich dieses Problem nicht.

Folgender Code sorgt dafür, dass das Einfügen übersprungen wird, indem es vorgibt die zweite Option zu sein:
\makeatletter
\newif\ifFld@continue
\Fld@continuefalse
\define@key{Field}{continue}[true]{%
  \lowercase{\Field@boolkey{#1}}{continue}%
}
\patchcmd{\@@Radio}
{\Fld@listcount=0}
{\Fld@listcount=\ifFld@continue0\else1\fi}
{\typeout{Patching of @@Radio succeeded.}}
{\typeout{Patching of @@Radio failed.}}
\makeatother

\ChoiceMenu[name=RadioGroup,radio]{}{a,b,c,d}\\
\ChoiceMenu[name=RadioGroup,radio,continue]{}{e}
Vielleicht hilft es ja noch der ein oder anderen Person :)

von jago » Fr 9. Okt 2015, 15:00

Mit Adobe Reader 9 (ist unter Linux die "neuste" Version :roll: ) funktionierts, hab kein anderes Programm gefunden, das das korrekte Verhalten zeigt.

Ich setze das Topic mal auf beantwortet, da es ja nicht am Code liegt.

Danke für die Hilfe.

von jago » Do 8. Okt 2015, 15:56

Oha, das ist interessant, dass das bei dir funktioniert.
Bei mir nämlich nicht. Aber die Info hilft mir schonmal weiter.

Ich hab Fedora mit Gummi als IDE, Texlive und Evince als PDF-Betrachter.
Dann wirds wohl daran irgendwo liegen :/

Danke, dann muss ich mal weiter schauen.

von elloro » Do 8. Okt 2015, 15:53

Das stimmt, mit dem Code kannst man das gewählte auch wieder abwählen.
Dein erstes Beispiel Funktioniert doch genau so wie du es willst.
\documentclass[a4paper]{article} 
\usepackage{hyperref} 

\begin{document} 
\begin{Form} 
\ChoiceMenu[radio,name=mygroup]{}{Erholungsurlaub} 
\ChoiceMenu[radio,name=mygroup]{}{Sonderurlaub} 
\end{Form} 
\end{document} 
Zumindest bei mir (getestet mit Miktex 2.9 / TeXnicCenter und Adobe DC).

von jago » Do 8. Okt 2015, 15:20

Danke für deine Antwort.

Wenn ich es richtig verstanden und ausprobiert habe, hat dein Codebeispiel das Zusatzfeature, dass man die Häckchen auch wieder wegnehmen kann, oder?

Aber es muss doch auch machbar sein, dass man eine RadioGroup hat, in der dann halt nur ein Häckchen ausgewählt sein darf.

Wenn man eins anklickt, werden die anderen wieder deaktiviert...

Viele Grüße,
Jago

von elloro » Do 8. Okt 2015, 10:33

Mit den Zeilen sollte es Funktionieren
\documentclass{article}
\usepackage[bookmarks=false]{hyperref}

% Make radio buttons completely deselectable by removing the "Radio" flag
% (http://tex.stackexchange.com/a/74543/3323)
\usepackage{etoolbox}
\makeatletter
\patchcmd{\HyField@FlagsRadioButton}{\HyField@SetFlag{Ff}{Radio}}{}{}{}
\makeatother
\def\DefaultOptionsofRadio{print}

\begin{document}
\begin{Form}
{Do you want to: }%
\ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{Do it all again=Again}
\ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{Pretend it never happened=Pretend}
\ChoiceMenu[radio,radiosymbol=\ding{52},name=myGroupOfRadiobuttons]{}{Write a book about it=Write}
\end{Form}
\end{document}
stand vor dem gleichen Problem - die Lösung habe ich hier gefunden: http://tex.stackexchange.com/questions/ ... -made-with

ChoiceMenu Radiogroup

von jago » Di 6. Okt 2015, 15:35

Hallo zusammen,

ich möchte ein Formular in Latex erzeugen, dabei möchte ich eine Auswahlliste erstellen.
Die folgenden beiden Codes machen aber nicht das, was ich möchte.

Ich möchte nur eine der Boxen aktiviert haben, die andere soll automatisch deaktiviert werden. Abwählen einer Option funktioniert auch nicht.
\documentclass[a4paper]{article}
\usepackage{hyperref}

\begin{document}
\begin{Form}
\ChoiceMenu[radio,name=mygroup]{}{Erholungsurlaub}
\ChoiceMenu[radio,name=mygroup]{}{Sonderurlaub}
\end{Form}
\end{document}
Laut Netzrecherche sollte es so funktionieren
\documentclass[a4paper]{article}
\usepackage{hyperref}

\begin{document}
\begin{Form}
\ChoiceMenu[radio]{}{Erholungsurlaub,Sonderurlaub}
\end{Form}
\end{document}
Das produziert aber folgenden, obskuren Output
Bild

Kann mir da jemand weiterhelfen?

Viele Grüße,
Jago

Nach oben