Ausrichtung/Verschiebung des Textes im Textfield auf Basislinie des Labels

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: Ausrichtung/Verschiebung des Textes im Textfield auf Basislinie des Labels

Ausrichtung/Verschiebung des Textes im Textfield auf Basislinie des Labels

von Investment » Mi 8. Jul 2020, 04:13

Guten Morgen,

wie muss ein \LayoutTextField angepasst werden, damit aus

\def\LayoutTextField#1#2{% label, field
	#1 \tikz[baseline = {([yshift = 2.25pt]baseline.base)}]{\node[] (baseline) {#2};}%
}

der Text im Textfield auf das exakt gleiche Niveau des Labeltextes gebracht werden kann. Obige Variante stellt schon einmal eine ungefähre Näherung dar.
Frage 2 in dieser Konstellation - um welchen Betrag muss ein Textfield (Labeltext von C auf exakte Labeltexthöhe von B, sofern sie sich nebeneinander befänden) nach oben verschoben werden, damit die Höhe der Basislinie des Labels (hier Unterschrift in B) deckungsgleich mit des angepassten Unterschriftenfeldes (hier C) ist, wobei der Labeltext durch ein Textfield ersetzt wird (und durch dieses Textfeld die Verschiebung des "Labels" nach unten zustande kommt).

		händisches Unterschriftenfeld\\
		\begin{tikzpicture}
			\node(anchor=north west) (rev1) at (0cm, 2ex) {};
			\node(rev1){\sigField{Unterschrift}{7cm}{0.5cm}};\\
			\draw([yshift=-0.6ex]rev1.north west) -- (rev1.south west) -- (rev1.south east);
			\node[anchor=north west] at (rev1.south west) {Unterschrift};
		\end{tikzpicture}\\

Zur allgemeinen Übersicht hier nun das Minimalbeispiel ...

\documentclass[11pt]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{libertine}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{eforms}
\usepackage{hyperref}

% Ausrichtung des Textes im Textfield an die Basisline des außerhalb des Objektes befindlichen Textes
\def\LayoutTextField#1#2{% label, field
	#1 \tikz[baseline={([yshift=2.25pt]baseline.base)}]{\node[] (baseline)       {#2};}%
}

\begin{document}
	\begin{Form}
		Gesucht: exakte Ausrichtung des Textes im Textfield auf die Basislinie des Labels des Textfields (gleiches Höhenniveau)\\
		
	A) \TextField
	[
		name = Labeltext,
		charsize = 11pt,
		value = bitte ändere mich gleich,
		format =
		{
			var f = this.getField('Labeltext');
			f.textFont = 'LinuxLibertineG';
		}
	]{unwichtiges Label}
	\par\noindent\rule{\textwidth}{0.4pt}
	B) händisches Unterschriftenfeld\\
	\begin{tikzpicture}
		\node(anchor = north west) (rev1) at (0cm, 2ex) {};
		\node(rev1){\sigField{UnterschriftEmpfaenger}{7cm}{0.5cm}};\\
		\draw([yshift = -0.6ex]rev1.north west) -- (rev1.south west) -- (rev1.south east);
		\node[anchor = north west] at (rev1.south west) {Unterschrift Empfänger};
	\end{tikzpicture}\\
	\par\noindent\rule{\textwidth}{0.4pt}
	C) sigfield mit Textfield als Label und noch nach unten verschobenen Label\\
	\begin{tikzpicture}
		\node(anchor = north west) (rev2) at (0cm, 2ex) {};
		\node(rev2)
		{
			\sigField{Unterschriftenfeld}{5cm}{0.4cm}
		};\\
		\draw([yshift = -0.6ex]rev2.north west) -- (rev2.south west) -- (rev2.south east);
		\node[anchor = north west] at (rev2.south west)
		{
			\TextField
			[
				name = Labeltext,
				bordercolor = {},
				charsize = 11pt,
				readonly = true,
				format =
				{
					var f = this.getField('Labeltext');
					f.textFont = 'LinuxLibertineG';
				}					
			]{Unterschrift}
		};\\\\
	\end{tikzpicture}\\
\end{Form}
\end{document}

PS: Die Idee, den Betrag für die Verschiebung im \LayoutTextField durch \fboxsep, gemindert um die Schrifttiefe des verwendeten Fonts, exakt zu generieren, sucht noch Erfolg (denn die Differenz aus \fboxsep und \settodepth{Variable}{bitte ändere mich gleich} weicht bereits deutlich von den 2,25pt ab).

Beste Grüße im Voraus, Investment


Nach oben