PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Textield in TikZ-Node



MC3330
16-06-2020, 14:50
Hallo,

ich erstelle seit einer Weile die meisten meiner Arbeitsblätter mit TikZ. Für Lösungsfelder benutzte ich häufig vordefinierte Nodes. Ich habe mir jetzt überlegt, dass ich diesen Nodes gerne Textfelder hinzufügen würde, damit die SuS die Kinder zuhause direkt am Computer ausfüllen können. Ich habe es soweit hinbekommen, dass jedem meiner Codes automatisch ein Textfeld hinzugefügt wird. Das Minimalbeispiel zeigt die Stelle, an der ich gerade hänge. So wie es im Minimalbeispiel ist, haben die Textfelder keine Namen. Wenn ich sie dann in einem Reader ausfülle, erscheint in allen Feldern das gleiche, wenn ich ein Feld ausfülle. Wenn ich den Felder in der Styledefinition einen Namen hinzufüge (aaskommentierte Zeile im Minimalbeispiel), dann bekomme ich leider eine Fehlermeldung.

Ich würde es gerne hinbekommen, dass jedes Node automatisch ein Textfeld enthält und das dabei jedes Textfeld einen eigenen Namen hat. In den meisten Fällen benutzt ich immer einen Counter den ich hochzähle, wenn ich innerhalb von Latex/Lua eindeutige Benennungen habe.

Hat jemand eine Idee, wie ich das schaffen könnte?

Viele Grüße
MC


Minimalbeispiel

\documentclass{article}

\usepackage{hyperref}
\usepackage{fontspec}
\usepackage{tikz}
\setmainfont{Arial}

\begin{document}

\renewcommand*{\DefaultOptionsofText}{
bordercolor=gray!20,
backgroundcolor=gray!20,
charsize=17 pt,
align=1,
maxlen=4,
width= 8mm,
height= 7mm,
format = { var f = this.getField('c');f.textFont = 'Arial'; }
}


\tikzset{%//
mauer/.style={
line width = 0.5 mm,
draw,
rounded corners=5pt,
fill=gray!20,
text width = 15mm,
minimum height = 9mm,
align=center,
inner sep=0mm,
font = \Large,
execute at begin node=\TextField{},
% execute at begin node=\TextField[name=a]{},
}
}%\\


\newcommand\zm{%//
\node[mauer]at(0,0){};
\node[mauer]at(1.5,0){};
\node[mauer]at(3,0){};
\node[mauer]at(0.75,0.925){};
\node[mauer]at(2.25,0.925){};
\node[mauer]at(1.5,1.85) {};
}%\\



\begin{tikzpicture}
\zm
\end{tikzpicture}

\end{document}


Fehlermeldung, wenn ich im MB die aaskommentierte Zeile für verwende.


This is LuaTeX, Version 1.07.0 (TeX Live 2018)

Processing: formular.tex

Document Class: article 2014/09/29 v1.4h Standard LaTeX document class

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\bgroup \aftergroup \unskip \ifx \tikz@textcolor \pgfutil@empty \else \ETC.
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\TextField [name\bgroup \aftergroup \unskip \ifx \tikz@textcolor \ETC.
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\TextField [name\TextField [name\bgroup \aftergroup \unskip \ifx \ETC.
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\TextField [name\TextField [name\TextField [name\bgroup \aftergroup \ETC.
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\TextField [name\TextField [name\TextField [name\TextField [name\bgroup \ET
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:51 Argument of \@TextField has an extra }.

name\TextField [name\TextField [name\TextField [name\TextField [name\TextField
Latex Error: ./formular.tex:51 Paragraph ended before \@TextField was complete.

Latex Error: ./formular.tex:51 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:52 Missing } inserted.

Latex Error: ./formular.tex:52 Extra }, or forgotten \endgroup.

Latex Error: ./formular.tex:55 LaTeX Error: \begin{tikzpicture} on input line 50 ended by \end{document}.

Latex Error: ./formular.tex:55 You can't use `\end' in internal vertical mode.

Latex Error: ./formular.tex:55 LaTeX Error: \begin{tikzpicture} on input line 50 ended by \end{document}.

! Emergency stop.

! ==> Fatal error occurred, no output PDF file produced!

Complete transcript is in formular.log

MC3330
18-06-2020, 13:29
Falls es jemand interessiert, es lag in der aaskommentierten Zeile am =. Wenn man es mit eckigen Klammern einrahmt, dann passt es.

MB


\documentclass{article}

\usepackage{hyperref}
\usepackage{fontspec}
\usepackage{tikz}
\setmainfont{Arial}

\begin{document}

\renewcommand*{\DefaultOptionsofText}{
bordercolor=gray!20,
backgroundcolor=gray!20,
charsize=17 pt,
align=1,
maxlen=4,
width= 8mm,
height= 7mm,
format = { var f = this.getField('c');f.textFont = 'Arial'; }
}


\newcounter{tfid}

\tikzset{%//
mauer/.style={
line width = 0.5 mm,
draw,
rounded corners=5pt,
fill=gray!20,
text width = 15mm,
minimum height = 9mm,
align=center,
inner sep=0mm,
font = \Large,
execute at begin node={\TextField[name=\thetfid]{}},
execute at begin node=\stepcounter{tfid},
}
}%\\


\newcommand\zm{%//
\node[mauer]at(0,0){};
\node[mauer]at(1.5,0){};
\node[mauer]at(3,0){};
\node[mauer]at(0.75,0.925){};
\node[mauer]at(2.25,0.925){};
\node at(1.5,1.85) {\TextField[name=a]{}};
}%\\



\begin{tikzpicture}
\zm
\end{tikzpicture}

MC3330
21-06-2020, 19:34
Hallo,

ich habe noch mal ein bisschen weiter probiert, und habe ein paar neue Probleme entdeckt.

1. Wenn ich das TextField im Node erstelle, dann wir es etwas nach rechts geschoben und ist leider nicht genau zentriert. Das würde ich gerne hinbekommen.

2. Bei mir wird die PDF-Datei in drei Reader unterschiedlich angezeigt. Im Adobe Reader und in FoxitPDF auf Android werden die Textfelder blau angezeigt. In Safari ist dieses blaue Feld nicht zu sehen (vgl. Anhänge). Ich vermute, dass es irgendeine mir unbekannte Farboption gibt, die ihn Vorschau nicht berücksichtigt wird. Ich würde es gerne hinbekommen, dass es in allen drei Readern gleich ist.

Falls jemand eine Idee hat, wäre ich sehr dankbar.

MB


\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{fontspec}
%showframe

\usepackage{hyperref}
\hypersetup{%//
colorlinks = black, % Colours links instead of ugly boxes
urlcolor = black, % Colour for external hyperlinks
linkcolor = black, % Colour of internal links
citecolor = black, % Colour of citations
}%\\
%Wuerfelhh

\setlength\parindent{0pt}

\newcounter{tfid}
\renewcommand*{\DefaultOptionsofText}{
bordercolor=,
backgroundcolor=,
charsize=17 pt,
align=1,
maxlen=4,
width= 5mm,
height= 5mm,
name=\thetfid,
format = { var f = this.getField('\thetfid');f.textFont = 'GS'; }
}


\tikzset{%//
kaestchengrautf/.style={%//
line width = 0.25 mm,
draw,
rounded corners=5pt,
text width =10mm,
minimum height = 6mm,
align=center,
font =\Large,
inner sep=0,
% text depth=0.9 cm,
execute at begin node={\TextField{}},
execute at begin node=\stepcounter{tfid},
},%\\
}%\\




\begin{document}
\begin{tikzpicture}
\node[kaestchengrautf] at (0,0){};
\node[kaestchengrautf] at (1,0){};
\node[kaestchengrautf] at (2,0){};
\node[kaestchengrautf] at (0.5,0.6){};
\node[kaestchengrautf] at (1.5,0.6){};
\node[kaestchengrautf] at (1,1.2){};
\end{tikzpicture}
\end{document}

rais
22-06-2020, 10:38
Dein Code produziert neben einer Warnung von hyperref:


Package hyperref Warning: Unexpected value `black'
(hyperref) of option `colorlinks' instead of
(hyperref) `true' or 'false' on input line 14.

nur leere Felder bei mir.
Wenn ich mich an die hyperref-Doku halte und die \TextField-Anweisungen in eine Form-Umgebung packe, dann werden mir diese \TextFields auch angezeigt, vgl. `texdoc hyperref', Abschnitt `PDF and HTML forms':


You must put your fields inside a Form environment (only one per file).
Dann hab ich noch ein wenig mit den Farben gespielt (nur zur Demo)


\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{fontspec}
%showframe

\usepackage{hyperref}
\hypersetup{%//
colorlinks = true, % Colours links instead of ugly boxes
urlcolor = black, % Colour for external hyperlinks
linkcolor = black, % Colour of internal links
citecolor = black, % Colour of citations
}%\\
%Wuerfelhh

\setlength\parindent{0pt}

\newcounter{tfid}
\renewcommand*{\DefaultOptionsofText}{
bordercolor=0.2 0.4 0.8,
backgroundcolor=0.8 0.3 0.2,
charsize=17 pt,
align=1,
maxlen=4,
width= 5mm,
height= 5mm,
name=\thetfid,
format = { var f = this.getField('\thetfid');f.textFont = 'GS'; }
}


\tikzset{%//
kaestchengrautf/.style={%//
line width = 0.25 mm,
draw,
rounded corners=5pt,
text width =10mm,
minimum height = 6mm,
align=center,
font =\Large,
inner sep=0,
% text depth=0.9 cm,
execute at begin node={\TextField{}},
execute at begin node=\stepcounter{tfid},
},%\\
}%\\




\begin{document}
\begin{Form}
\begin{tikzpicture}
\node[kaestchengrautf] at (0,0){};
\node[kaestchengrautf] at (1,0){};
\node[kaestchengrautf] at (2,0){};
\node[kaestchengrautf] at (0.5,0.6){};
\node[kaestchengrautf] at (1.5,0.6){};
\node[kaestchengrautf] at (1,1.2){};
\end{tikzpicture}
\end{Form}
\end{document}

liefert bei mir mit Okular
6285

VG

MC3330
22-06-2020, 21:33
Das mit dem Form hat ich auch gelesen, bei mir hat es bisher aber auch ohne problemlos funktioniert.

Bei den Farben hatte ich es mit Bordercolor und Backgroundcolor auch hinbekommen, aber es muss da doch irgendwie noch mehr Optionen geben. Wenn man mit der Mouse drüber fährt oder drauf klickt, dann ändert sich die Optik ja auch noch mal. Hat das irgendwas mit den Javasachen "Onclick" und "OnMouseover" in der Dokumentation zu tun?

Wenn ich dein Beispiel setzte, sieht es bei mir mit Latex so aus. Das untere mittlere Kästchen ist die Ansicht beim Mouseover, das rechte untere ist die Ansicht wenn man drauf klickt. Sieht bei verschiedenen Readern wieder etwas unterschiedlich aus, aber damit kann ich gut leben.

Im Gegensatz zu deinem Bild sind die Kästchen aber leider nicht richtig zentriert. Hast du eventuell eine Idee woran das liegen könnte?

Ansicht im Adobe Reader
6286

Ansicht in Vorschau von MacOS
6287

rais
23-06-2020, 18:01
Könnte ein Versionsproblem sein. Ich hab das heute auf meinem Firmenrechner nachstellen können inkl. Verschiebung; da hab ich aber noch TL'18 drauf (hier TL'20).
Kannst ja mal \listfiles vor \documentclass stellen und vergleichen (im .log kurz vor Schluß):


*File List*
scrartcl.cls 2020/04/19 v3.30 KOMA-Script document class (article)
scrkbase.sty 2020/04/19 v3.30 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2020/04/19 v3.30 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
scrlfile.sty 2020/04/19 v3.30 KOMA-Script package (loading files)
tocbasic.sty 2020/04/19 v3.30 KOMA-Script package (handling toc-files)
scrsize11pt.clo 2020/04/19 v3.30 KOMA-Script font size class option (11pt)
typearea.sty 2020/04/19 v3.30 KOMA-Script package (type area)
babel.sty 2020/04/28 3.43 The Babel package
ngerman.ldf 2018/12/08 v2.11 German support for babel (post-1996 orthograph
y)
inputenc.sty 2018/08/11 v1.3c Input encoding file
tikz.sty 2020/01/08 v3.1.5b (3.1.5b)
pgf.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfrcs.sty 2020/01/08 v3.1.5b (3.1.5b)
everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty 2020/01/08 v3.1.5b (3.1.5b)
graphicx.sty 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
trig.sty 2016/01/03 v1.10 sin cos tan (DPC)
graphics.cfg 2016/06/04 v1.11 sample graphics configuration
xetex.def 2017/06/24 v5.0h Graphics/color driver for xetex
pgfsys.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2020/01/08 v3.1.5b (3.1.5b)
pgfsysprotocol.code.tex 2020/01/08 v3.1.5b (3.1.5b)
xcolor.sty 2016/05/11 v2.12 LaTeX color extensions (UK)
color.cfg 2016/01/02 v1.6 sample color configuration
pgfcore.code.tex
pgfcomp-version-0-65.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfcomp-version-1-18.sty 2020/01/08 v3.1.5b (3.1.5b)
pgffor.sty 2020/01/08 v3.1.5b (3.1.5b)
pgfkeys.sty
pgfkeys.code.tex
pgfmath.sty
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex
fontspec.sty 2020/02/21 v2.7i Font selection for XeLaTeX and LuaLaTeX
xparse.sty 2020-03-06 L3 Experimental document command parser
expl3.sty 2020-05-11 L3 programming layer (loader)
l3backend-xdvipdfmx.def 2020-05-05 L3 backend support: xdvipdfmx
fontspec-xetex.sty 2020/02/21 v2.7i Font selection for XeLaTeX and LuaLaTeX
fontenc.sty
fontspec.cfg
hyperref.sty 2020/01/14 v7.00d Hypertext links for LaTeX
ltxcmds.sty 2019/12/15 v1.24 LaTeX kernel commands for general use (HO)
iftex.sty 2020/03/06 v1.0d TeX engine tests
pdftexcmds.sty 2019/11/24 v0.31 Utility functions of pdfTeX for LuaTeX (HO)
infwarerr.sty 2019/12/03 v1.5 Providing info/warning/error messages (HO)
kvsetkeys.sty 2019/12/15 v1.18 Key value parser (HO)
kvdefinekeys.sty 2019-12-19 v1.6 Define keys (HO)
pdfescape.sty 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
hycolor.sty 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
letltxmacro.sty 2019/12/03 v1.6 Let assignment for LaTeX macros (HO)
auxhook.sty 2019-12-17 v1.6 Hooks for auxiliary files (HO)
kvoptions.sty 2019/11/29 v3.13 Key value format for package options (HO)
pd1enc.def 2020/01/14 v7.00d Hyperref: PDFDocEncoding definition (HO)
intcalc.sty 2019/12/15 v1.3 Expandable calculations with integers (HO)
etexcmds.sty 2019/12/15 v1.7 Avoid name clashes with e-TeX commands (HO)
url.sty 2013/09/16 ver 3.4 Verb mode for urls, etc.
bitset.sty 2019/12/09 v1.3 Handle bit-vector datatype (HO)
bigintcalc.sty 2019/12/15 v1.5 Expandable calculations on big integers (HO)
atbegshi.sty 2019/12/05 v1.19 At begin shipout hook (HO)
hxetex.def 2020/01/14 v7.00d Hyperref driver for XeTeX
puenc.def 2020/01/14 v7.00d Hyperref: PDF Unicode definition (HO)
stringenc.sty 2019/11/29 v1.12 Convert strings between diff. encodings (HO)
rerunfilecheck.sty 2019/12/05 v1.9 Rerun checks for auxiliary files (HO)
atveryend.sty 2019-12-11 v1.11 Hooks at the very end of document (HO)
uniquecounter.sty 2019/12/15 v1.4 Provide unlimited unique counter (HO)
ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
nameref.sty 2019/09/16 v2.46 Cross-referencing by name of section
refcount.sty 2019/12/15 v3.6 Data extraction from label references (HO)
gettitlestring.sty 2019/12/15 v1.6 Cleanup title references (HO)
mb-tf-in-tikz-n4.out
mb-tf-in-tikz-n4.out
bookmark.sty 2019/12/03 v1.28 PDF bookmarks (HO)
bkm-dvipdfm.def 2019/12/03 v1.28 bookmark driver for dvipdfm (HO)
se-ascii-print.def 2019/11/29 v1.12 stringenc: Printable ASCII characters
***********

VG

MC3330
23-06-2020, 21:22
Ich stehe gerade etwas auf dem Schlauch. Steht TL für TexLive?

Es scheint so zu sein, als wäre bei mir alles was älter. Dann werde ich das morgen mal updaten. Danke

So sieht es bei mir aus.


This is LuaTeX, Version 1.07.0 (TeX Live 2018) (format=lualatex 2018.7.23) 23 JUN 2020 22:13

..

*File List*
scrartcl.cls 2018/03/30 v3.25 KOMA-Script document class (article)
scrkbase.sty 2018/03/30 v3.25 KOMA-Script package (KOMA-Script-dependent basi
cs and keyval usage)
scrbase.sty 2018/03/30 v3.25 KOMA-Script package (KOMA-Script-independent ba
sics and keyval usage)
keyval.sty 2014/10/28 v1.15 key=value parser (DPC)
scrlfile.sty 2018/03/30 v3.25 KOMA-Script package (loading files)
tocbasic.sty 2018/03/30 v3.25 KOMA-Script package (handling toc-files)
scrsize11pt.clo 2018/03/30 v3.25 KOMA-Script font size class option (11pt)
typearea.sty 2018/03/30 v3.25 KOMA-Script package (type area)
babel.sty 2018/02/14 3.18 The Babel package
ngerman.ldf 2018/03/29 v2.10 German support for babel (post-1996 orthography
)
inputenc.sty 2018/04/06 v1.3b Input encoding file
tikz.sty 2015/08/07 v3.0.1a (rcs-revision 1.151)
pgf.sty 2015/08/07 v3.0.1a (rcs-revision 1.15)
pgfrcs.sty 2015/08/07 v3.0.1a (rcs-revision 1.31)
everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty 2010/04/11 v3.0.1a (rcs-revision 1.7)
graphicx.sty 2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)
trig.sty 2016/01/03 v1.10 sin cos tan (DPC)
graphics.cfg 2016/06/04 v1.11 sample graphics configuration
luatex.def 2018/01/08 v1.0l Graphics/color driver for luatex
pgfsys.sty 2014/07/09 v3.0.1a (rcs-revision 1.48)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9)
pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
xcolor.sty 2016/05/11 v2.12 LaTeX color extensions (UK)
color.cfg 2016/01/02 v1.6 sample color configuration
pgfcore.code.tex
pgfcomp-version-0-65.sty 2007/07/03 v3.0.1a (rcs-revision 1.7)
pgfcomp-version-1-18.sty 2007/07/23 v3.0.1a (rcs-revision 1.1)
pgffor.sty 2013/12/13 v3.0.1a (rcs-revision 1.25)
pgfkeys.sty
pgfkeys.code.tex
pgfmath.sty
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex
fontspec.sty 2017/11/09 v2.6g Font selection for XeLaTeX and LuaLaTeX
xparse.sty 2018/02/21 L3 Experimental document command parser
expl3.sty 2018/03/05 L3 programming layer (loader)
expl3-code.tex 2018/03/05 L3 programming layer
l3pdfmode.def 2017/03/18 v L3 Experimental driver: PDF mode
fontspec-luatex.sty 2017/11/09 v2.6g Font selection for XeLaTeX and LuaLaTeX
fontenc.sty
tuenc.def 2017/04/05 v2.0i Standard LaTeX file
fontspec.cfg
hyperref.sty 2018/02/06 v6.86b Hypertext links for LaTeX
hobsub-hyperref.sty 2016/05/16 v1.14 Bundle oberdiek, subset hyperref (HO)
hobsub-generic.sty 2016/05/16 v1.14 Bundle oberdiek, subset generic (HO)
hobsub.sty 2016/05/16 v1.14 Construct package bundles (HO)
infwarerr.sty 2016/05/16 v1.4 Providing info/warning/error messages (HO)
ltxcmds.sty 2016/05/16 v1.23 LaTeX kernel commands for general use (HO)
ifluatex.sty 2016/05/16 v1.4 Provides the ifluatex switch (HO)
ifvtex.sty 2016/05/16 v1.6 Detect VTeX and its facilities (HO)
intcalc.sty 2016/05/16 v1.2 Expandable calculations with integers (HO)
ifpdf.sty 2017/03/15 v3.2 Provides the ifpdf switch
etexcmds.sty 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO)
kvsetkeys.sty 2016/05/16 v1.17 Key value parser (HO)
kvdefinekeys.sty 2016/05/16 v1.4 Define keys (HO)
luatex-loader.sty 2016/05/16 v0.6 Lua module loader (HO)
pdftexcmds.sty 2018/01/30 v0.27 Utility functions of pdfTeX for LuaTeX (HO)
pdfescape.sty 2016/05/16 v1.14 Implements pdfTeX's escape features (HO)
bigintcalc.sty 2016/05/16 v1.4 Expandable calculations on big integers (HO)
bitset.sty 2016/05/16 v1.2 Handle bit-vector datatype (HO)
uniquecounter.sty 2016/05/16 v1.3 Provide unlimited unique counter (HO)
letltxmacro.sty 2016/05/16 v1.5 Let assignment for LaTeX macros (HO)
hopatch.sty 2016/05/16 v1.3 Wrapper for package hooks (HO)
xcolor-patch.sty 2016/05/16 xcolor patch
atveryend.sty 2016/05/16 v1.9 Hooks at the very end of document (HO)
atbegshi.sty 2016/06/09 v1.18 At begin shipout hook (HO)
refcount.sty 2016/05/16 v3.5 Data extraction from label references (HO)
hycolor.sty 2016/05/16 v1.8 Color options for hyperref/bookmark (HO)
ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional
auxhook.sty 2016/05/16 v1.4 Hooks for auxiliary files (HO)
kvoptions.sty 2016/05/16 v3.12 Key value format for package options (HO)
pd1enc.def 2018/02/06 v6.86b Hyperref: PDFDocEncoding definition (HO)
hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
url.sty 2013/09/16 ver 3.4 Verb mode for urls, etc.
hluatex.def 2018/02/06 v6.86b Hyperref driver for luaTeX
rerunfilecheck.sty 2016/05/16 v1.8 Rerun checks for auxiliary files (HO)
supp-pdf.mkii
epstopdf-base.sty 2016/05/15 v2.6 Base part for package epstopdf
grfext.sty 2016/05/16 v1.2 Manage graphics extensions (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
nameref.sty 2016/05/21 v2.44 Cross-referencing by name of section
gettitlestring.sty 2016/05/16 v1.5 Cleanup title references (HO)
formular.out
formular.out
upzd.fd 2001/06/04 font definitions for U/pzd.
***********

rais
23-06-2020, 22:03
Uups, ja, TL steht bei mir für TeXLive. Bei TL'xx steht `xx' für die letzten beiden Ziffern des Jahres der TeXLive-Ausgabe, bei "TL'18" also TeXLive 2018.

VG

MC3330
27-06-2020, 07:15
Ich habe mir jetzt TexLive 20 installiert, es lag tatsächlich daran. Die Felder werden jetzt zentriert wie bei dir dargestellt.

Ich habe jetzt aber ein neues Problem. Es werden bei mir überhaupt keine Fehlermeldungen mehr ausgegeben, sondern Fehler werden einfach ignoriert und die Sachen erscheinen teilweise im Dokument. Befehle, die er nicht kennt, werden scheinbar einfach ignoriert.




\documentclass{scrartcl}
\usetikzlibr{math}
\begin{document}
Minimalbeispiel
\draw(0,0)--(0,1)
\end{document}



Dieser Code ergibt bei mir gerade keine Fehlermeldung und führt zu diesem Ergebnis.
6288

rais
27-06-2020, 10:40
lass beim *latex-Aufruf -interaction=nonstopmode weg bzw. ersetze es zu -interaction=errorstopmode und/oder schau in die .log-Datei.

VG

MC3330
28-06-2020, 11:17
Ok, danke. Komischerweise kommt die Fehlermeldung ganz normal, wenn ich als Engine pdflatex verwende. Wenn ich lualatex verwende, dann kommt sie nicht. Da wird die Fehlermeldung aber auch im Log-File angezeigt.

Ich setzte es nicht über die Konsole, sondern habe einen Editor (Textmate). Da kann man Optionen angeben, aber beides hat da keine Wirkung. Ich suche am besten nochmal in einem Mac-Forum, ob da jemand eine Idee hat.

MC3330
05-07-2020, 10:10
Hallo,

ich habe nochmal ein bisschen mit den Textfelder rumgespielt und angefangen mich in die Verwendung von Javascript innerhalb der Textfelder reinzufuchsen.
Ich habe es jetzt geschafft, dass ich den Inhalt von einem Textfeld über einen Button ändern kann (siehe MB). Ich versuche gerade zwei Dinge hinzubekommen.

1. Ist es möglich, dass ich beim Textfeld auch die Farben ändere (sowas wie t.color=5red;)
2. Ist es irgendwie möglich ins Textfeld eine Art Listener zu schreiben, der nach Click des Buttons eine Javacode ausführt?

Eigentlich sind das eher Javascript-Fragen als LAtexfragen. Gibt e eventuell irgendeine Anleitung, wie man Javascript innerhalb von Hypperref sinnvoll nutzt? Im Hyperref-Manual steht da leider nichts zu.

Viele Grüße
MC

MB

\documentclass{article}
\usepackage{hyperref}

\begin{document}

\begin{Form}

\TextField[name=f1,
value=1250,
]{Feld}

\PushButton[
onclick={
var t = this.getField('f1');
t.value=5;
}
name=button,
]{Button}


\end{Form}

\end{document}

rais
12-07-2020, 11:38
Vllt ist ja das eforms-Paket aus dem AcroTeX-Bündel was für Dich.
Es kommt mit einer vielversprechenden Doku (https://ctan.mc1.root.project-creative.net/macros/latex/contrib/acrotex/doc/eformman.pdf); Dein `Listener' wäre dort unter `Actions' -> `Trigger Events'.
"on focus" käme dem Gesuchten wohl recht nahe.
Und unter `References' findest Du auch einiges zu Javascript.

VG

MC3330
12-07-2020, 15:50
Danke für den Tipp, schau ich mir gleich mal.

MC3330
13-12-2020, 15:42
Hallo,

ich habe eine JavaScript-Erkläreung (https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf) für den Adobe-Reader gefunden. Damit habe ich es jetzt doch mit hyperref hinbekommen.

Falls es jemand interessiert hier ein MB:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[obeyspaces]{url}
\usepackage{lmodern}
\usepackage{fontspec}
\usepackage{graphicx}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\TextField[
name = feld,
format = {
var f3 = this.getField('feld');
if(f3.value ==5){
f3.textColor = ["RGB",1,0,0];
}else{
f3.textColor = ["RGB",0,0,1];
}
}
]{sum}
\end{Form}
\end{document}

Viele Grüße
MC

MC3330
18-12-2020, 19:11
Ich habe eine neue Sache, die ich gerne hinbekommen würde.

Ich habe ein Textfeld, bei dem eine bestimmte Eingabe erwartet wird. Wenn diese Eingabe erfolgt, färbt sich die Schrift grün, bei einer anderen Eingabe färbt sich die Schrift rot.

Ich würde nun gerne haben, dass die Anzahl der falschen Eingaben gezählt und in einem anderen Textfeld dargestellt wird.

Ich habe es so versucht, dass ich eine Variable habe, die hochgezählt wird, wenn eine falsche Eingabe erfolgt (siehe MB). Das klappt soweit auch, allerdings habe ich das Problem, dass meine Zählvariable immer neu initialisiert wird. Dadurch kommt die Variable nie über 1 hinaus.

Ich suche jetzt irgendeine Möglichkeit, wie ich die Variable Fehler so definieren kann, dass sie nur einmalig initialisiert wird.

Würde mich freuen, wenn jemand ei Antwort dazu weiß.

Damit man es sieht, muss man die Datei im Adobe Reader betrachten, damit die JavaScript ausgeführt werden.

Viele Grüße
MC



\documentclass[20pt,a4paper]{article}

\usepackage{xcolor}
\usepackage[]{hyperref}
\begin{document}
\begin{Form}

\TextField[
name=f1,
format = {
var var1 = this.getField('f1');
var fehler=0 ;
var richtige = 0;
if (3 == var1.value) {
var1.textColor = ["RGB",0.17,0.47,0.32];
}else{
var1.textColor = color.red;
fehler++;
}
}
]{Feld1}


\TextField[
maxlen=40,
calculate={%
event.value = fehler;
},
align=2,height=10pt,width=45pt,name=gamma,readonly =true]{Fehler}

\end{Form}
\end{document}

MC3330
19-12-2020, 07:51
Ich habe es jetzt hinbekommen.

Ich habe jetzt noch das Problem, dass der Startwert des Feldes "Fehler" der Anzahl der Felder, die überprüft werden, entspricht, da am Anfang die Werte ja nicht stimmen. (Ich habe mal ein Bild gemacht, wo man es sieht)

Es wäre toll, wenn jemand eine Idee hätte, wie ich das korrigieren kann.
Viele Grüße
Mc



\documentclass{article}

\usepackage{hyperref}
\begin{document}
\begin{Form}


\TextField[
name=f1,
format = {
var var1 = this.getField('f1');
var fehler1 = this.getField('fehler');
var richtige1 = this.getField('richtige');
if (3 == var1.value) {
var1.textColor = ["RGB",0.17,0.47,0.32];
richtige1.value++;
}else{
var1.textColor = color.red;
fehler1.value++;
}
}
]{Feld1}

\TextField[
name=f2,
format = {
var var2 = this.getField('f2');
var fehler1 = this.getField('fehler');
var richtige1 = this.getField('richtige');
if (3 == var1.value) {
var2.textColor = ["RGB",0.17,0.47,0.32];
richtige1.value++;
}else{
var2.textColor = color.red;
fehler1.value++;
}
}
]{Feld2}


\TextField[
name=f3,
format = {
var var3 = this.getField('f3');
var fehler1 = this.getField('fehler');
var richtige1 = this.getField('richtige');
if (3 == var1.value) {
var3.textColor = ["RGB",0.17,0.47,0.32];
richtige1.value++;
}else{
var3.textColor = color.red;
fehler1.value++;
}
}
]{Feld3}



\TextField[
align=2,
name=fehler,
value=0,
]{Fehler}

\TextField[
align=2,
name=richtige,
value=0,
]{Richtige}



\end{Form}
\end{document}

rais
23-12-2020, 18:35
Der gepostete Code liefert mir Fehler = Richtige = 0, unabhängig davon, ob ich etwas eingegeben habe, oder nicht.
Das mag an meinem Betrachter (okular) liegen...
Vllt hilft Dir ja `onchange' (siehe `texdoc hyperref').

Frohes Fest

MC3330
23-12-2020, 18:44
Ich habe es jetzt mit onblur halbwegs so hinbekommen, wie ich es gerne haben wollte. Es klappt dann aber auch nur in speziellen Readern (PDF Expert auf dem iPad, Adobe auf dem Mac).

Je nach Reader klappen da leiderer unterschiedliche Sachen.

MC3330
30-12-2020, 10:55
Hallo,

ich habe ein neues Problem. Wenn ich Umlaute vergleichen will, muss ich die in Javascript vorher ersetzen.

Mit dieser Erklärung habe ich es versucht.
https://steakrecords.com/417916-replacing-umlauts-in-js-javascript-encoding-replace.html


Für normale Buchstaben klappt das ersetzten auch, aber bei den Umlauten scheitere ich. Vermutlich ist irgendwas an der Syntax falsch. In meinem Beispiel wird im Adobereader im Textfeld ein 'c' durch ein 'e'. Ein 'ä' ersetzt er leider nicht.






\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{hyperref}


\begin{document}

\begin{Form}
\TextField[
name=f1,
onblur = {
var var1 = this.getField('f1');
var1.value = var1.value.replace( 'c', 'e');
var1.value = var1.value.replace(/u00e4/g, 'ae');
var1.value = var1.value.replace(/ä/g, 'ae');
if (var1.value=="ae") {
var1.textColor =color.blue;
}else{
var1.textColor = color.red;
}
}
]{Test1}
\end{Form}

\end{document}