Ich verwende den Code von @Henry aus diesem Thread.

Damit erhalte ich zunächst das gewünschte Ergebnis:
alt text

Wenn ich nun zusätzlich das Paket hyperref.sty oder das Paket digsig.sty (dass im Übrigen auch hyperref lädt) lade -beide Pakete werden benötigt!-, wird das Layout ruiniert:
alt text

Was kann ich dagegen machen?

Öffne in Overleaf
\documentclass{scrreprt}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{tabularx}

\usepackage{xspace}
\newcounter{tabheading}
\newcounter{tabitem}[tabheading]
\newcommand\tabheading{\refstepcounter{tabheading}\textbf{\thetabheading}\xspace}
\newcommand\tabitem{\refstepcounter{tabitem}\thetabheading.\thetabitem\xspace}

%%%%%%%%%%%%%%%%%%%%
%\usepackage{digsig} % ruiniert Layout
% oder
\usepackage{hyperref} % ruiniert Layout
%%%%%%%%%%%%%%%%%%%%

\begin{document}

\tabheading Es ist wichtig, dass alle Fragen in diesem Bogen beantwortet werden. \par

\noindent
\begin{tabularx}{\textwidth}{|p{0.5\textwidth} | X |}
\hline
\tabitem Name: & \tabitem Beruf \\ \hline
\multicolumn{2}{| l |}{\tabitem Straße und Hausnummer:} \\ \hline
Postleitzahl:  & Ort: \\ \hline
\tabitem Geburtsdatum: & \tabitem Telefonnummer: \\ \hline
\end{tabularx} \par
\bigskip
\tabitem Beschreiben Sie...

\end{document}

gefragt 26 Dez '18, 09:26

cis's gravatar image

cis
9.4k23257466
Akzeptiert-Rate: 29%

bearbeitet 26 Dez '18, 09:54

Der Effekt lässt sich auch schon mit \usepackage{hyperref} reproduzieren (wenn man die digsig-Befehle nicht nutzt, dann macht das Paket auch nicht viel mehr als hyperref zu laden und seine Befehle bereitzustellen).

(26 Dez '18, 09:32) moewe

Mhh, das wollte ich auch erst isolieren, klappte erstmal nicht... Man kann also das Layout auf verschiedene Weisen ruinieren - aber wie kann man es retten?

(26 Dez '18, 09:39) cis
1

Das liegt an hyperref. Wenn du auf Referenzen mittels \label auf deine Aufzählungen verzichten kannst, dann ersetze \refstepcouter durch \stepcounter im Makro \tabitem.

(26 Dez '18, 09:46) Henri

Ok, ich kann -aktuell...- auf \refstepcouter verzichten.
Aber es ist gut möglich, dass sich eine Referenzierung mit \label später noch als sinnvoll erweist. Weil ich einen 30 Jahre alten Vordruck in eine Formular-PDF umwandle und noch auf der 1. Seite bin.

(26 Dez '18, 09:49) cis

Man muss mit \leavevmode erst in the horizontalen Modus wechseln. Wieso das mit hyperref auf einmal nötig ist weiß ich nicht. In \tabheading ist eigentlich egal, weil das ja nicht innerhalb der Tabelle steht, ich habe es aber vorsichtshalber auch dort hinzugefügt.

Öffne in Overleaf
\documentclass{scrreprt}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{tabularx}

\usepackage{xspace}
\newcounter{tabheading}
\newcounter{tabitem}[tabheading]
\newcommand\tabheading{%
  \leavevmode % <------------- NEU
  \refstepcounter{tabheading}%
  \textbf{\thetabheading}\xspace
}
\newcommand\tabitem{%
  \leavevmode % <------------- NEU
  \refstepcounter{tabitem}%
  \thetabheading.\thetabitem\xspace
}

%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{digsig} % ruiniert Layout
%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\tabheading Es ist wichtig, dass alle Fragen in diesem Bogen beantwortet werden. \par

\noindent
\begin{tabularx}{\textwidth}{|p{0.5\textwidth} | X |}
\hline
\tabitem Name: & \tabitem Beruf \\ \hline
\multicolumn{2}{| l |}{\tabitem Straße und Hausnummer:} \\ \hline
Postleitzahl:  & Ort: \\ \hline
\tabitem Geburtsdatum: & \tabitem Telefonnummer: \\ \hline
\end{tabularx} \par
\bigskip
\tabitem Beschreiben Sie...

\end{document}
Permanenter link

beantwortet 26 Dez '18, 09:51

Henri's gravatar image

Henri
14.6k53340
Akzeptiert-Rate: 46%

bearbeitet 26 Dez '18, 09:53

3

refstepcounter setzt (mit hyperref) Anker, d.h. erzeugt whatsits. Das ist wie mit color am Anfang von Tabellenzellen, auch die brauchen ein leavevmode.

(26 Dez '18, 12:04) Ulrike Fischer
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×238
×36
×1

gestellte Frage: 26 Dez '18, 09:26

Frage wurde gesehen: 1,447 Mal

zuletzt geändert: 26 Dez '18, 12:04