Die Tikzpicture-Umgebung macht \noindent wirkungslos

Die Tikzpicture-Umgebung macht \noindent wirkungslos

Sehen Sie sich bitte dieses MWE an:

\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage[showframe]{geometry}
\usepackage{ulem}
\setlength\fboxsep{0pt}
\begin{document}

% \begin{tikzpicture}[remember picture, overlay]
%   \node[inner sep=0pt] at (current page.center) {\includegraphics[width=\textwidth]{example-image.pdf}};
% \end{tikzpicture}
\ExplSyntaxOn
\noindent
\fbox{\begin{minipage}{\textwidth}
  \mode_leave_vertical:
  \hbox_to_wd:nn { 2cm } { Classification }
  \uline { \hbox_to_wd:nn { 2.4cm } { \hfill 1234 \hfill } }
  \hfill
  \hbox_to_wd:nn { 1.67cm } { Secret-level }
  \uline { \hbox_to_wd:nn { 2.4cm } { \hfill AAAA \hfill } }
\end{minipage}}
\ExplSyntaxOff

\noindent\begin{minipage}{\textwidth}
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
\end{minipage}

\end{document}

Wenn ich den tikzpictureTeil auskommentiere, wird die erste Miniseite eingerückt, obwohl \noindentdavor eine steht. Bildbeschreibung hier eingeben

Antwort1

Damit tikzpicturewird ein Absatz eingeleitet, es \noindenthat also keine Wirkung.

Verschieben Sie es vor das \begin{tikzpicture}(ich habe es hinzugefügt, \ignorespacesum unerwünschte Leerzeichen vor dem zu vermeiden minipage, Sie können aber auch ein Kommentarzeichen verwenden %).

\documentclass[a4paper]{article}
\usepackage{tikz}
\usepackage[showframe]{geometry}
\usepackage{ulem}
\setlength\fboxsep{0pt}
\begin{document}

\noindent
\begin{tikzpicture}[remember picture, overlay]
  \node[inner sep=0pt] at (current page.center) {\includegraphics[width=\textwidth]{example-image.pdf}};
\end{tikzpicture}\ignorespaces
\ExplSyntaxOn
\fbox{\begin{minipage}{\textwidth}
  \mode_leave_vertical:
  \hbox_to_wd:nn { 2cm } { Classification }
  \uline { \hbox_to_wd:nn { 2.4cm } { \hfill 1234 \hfill } }
  \hfill
  \hbox_to_wd:nn { 1.67cm } { Secret-level }
  \uline { \hbox_to_wd:nn { 2.4cm } { \hfill AAAA \hfill } }
\end{minipage}}
\ExplSyntaxOff

\noindent\begin{minipage}{\textwidth}
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
\end{minipage}

\end{document}

Beispiel

Antwort2

Ich bin mir nicht sicher, ob Sie in einem solchen Fall viel davon haben expl3. Um es direkter zu sagen: Sie machen die Dinge nur unnötig kompliziert, da LaTeX bereits über die erforderlichen Tools verfügt.

Die oberste minipageVerschachtelung \fboxsollte sein \framebox. Seien Sie auch mit den Endlinien vorsichtig.

\documentclass[a4paper]{article}
\usepackage{tikz}
%\usepackage[showframe]{geometry}
\usepackage{ulem}

\begin{document}

\noindent
\begin{tikzpicture}[remember picture, overlay]
  \node[inner sep=0pt] at (current page.center) {%
    \includegraphics[width=\textwidth]{example-image.pdf}%
  };
\end{tikzpicture}% <--- important
\begingroup\setlength{\fboxsep}{0pt}%
\framebox[\dimeval{\textwidth-2\fboxrule}][s]{%
  \strut
  \,Classification
  \uline{\makebox[2.4cm][c]{1234}}%
  \hfill
  Secret-level
  \uline{\makebox[2.4cm][c]{AAAA}}%
}
\endgroup

\bigskip

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim 
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex 
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate 
velit esse cillum dolore eu fugiat nulla pariatur.

\end{document}

Die Breite des \frameboxwird durch das korrigiert \fboxrule, damit es nicht zu voll ist.

Das \noindentsollte vor dem stehen tikzpicture.

\documentclass[a4paper]{article}
\usepackage{tikz}
%\usepackage[showframe]{geometry}
\usepackage{ulem}

\begin{document}

\noindent
\begin{tikzpicture}[remember picture, overlay]
  \node[inner sep=0pt] at (current page.center) {%
    \includegraphics[width=\textwidth]{example-image.pdf}%
  };
\end{tikzpicture}% <--- important
\begingroup\setlength{\fboxsep}{0pt}%
\framebox[\dimeval{\textwidth-2\fboxrule}][s]{%
  \strut
  \,Classification
  \uline{\makebox[2.4cm][c]{1234}}%
  \hfill
  Secret-level
  \uline{\makebox[2.4cm][c]{AAAA}}%
}
\endgroup

\bigskip

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod 
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim 
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex 
ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate 
velit esse cillum dolore eu fugiat nulla pariatur.

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen