Unsichtbare Unterabschnitte verlieren die Seitenzahl im Inhaltsverzeichnis

Unsichtbare Unterabschnitte verlieren die Seitenzahl im Inhaltsverzeichnis

Unsichtbare Unterabschnitte verlieren die Seitenzahl im Inhaltsverzeichnis, genauer gesagt verweisen sie alle auf dieselbe Seite, nämlich auf die Seite, auf der das Makro zuerst angewendet wurde.

Mein Bedarf ist ähnlich dem, was gefragt wurde in Abschnittsüberschriften unsichtbar machen?

Daher habe ich mit folgendem Makro experimentiert, welches ich aus einer der dort gegebenen Antworten übernommen und angepasst habe.

\makeatletter
\newcommand\invisiblesubsection[1]{%
    \refstepcounter{subsection}%
    \addcontentsline{toc}{subsection}{\protect\numberline{\thesubsection}#1}%
    \subsectionmark{#1}\phantom{}}%
\makeatother

Alles andere funktioniert, bis auf die Seitennummerierung im Inhaltsverzeichnis. Was kann ich tun?

Bearbeiten:Auf Ihren Wunsch hin habe ich das untenstehende Beispiel geschrieben. Allerdings hat sich hier das Verhalten geändert: Die Zeilennummern werden nun zwar korrekt angezeigt, allerdings wird nach jeder Tabelle eine leere Seite eingefügt.

\documentclass[10pt,a4paper,oneside]{article}
\makeatletter
\newcommand\invisiblesubsection[1]{%
\refstepcounter{subsection}%
\addcontentsline{toc}{subsection} 
{\protect\numberline{\thesubsection}#1}%
\subsectionmark{#1}\phantom{}}%
\makeatother
\newcommand\tex{\textbf{(0)} \begin{tabular}[c]{c|rrrrrr}
$0$ & $0$ & & & & & \\ $0$ & $0$ & $0$ & & & & \\ $0$ & $0$ & $0$ & 
$0$ & & & \\ $0$ & $0$ & $0$ & $0$ & $0$ & & \\ $0$ & $0$ & $0$ & 
$0$ & $0$ & $0$ & \\ $0$ & $0$ & $0$ & $0$ & $0$ & $0$ & $0$ 
\end{tabular} \vspace{5mm} \newline }
\begin{document}
\section{One}
\invisiblesubsection{1} 
\begin{table}[b] \tex \tex \tex \tex \tex \caption{1} \end{table}
\clearpage \invisiblesubsection{2} 
\begin{table}[b] \tex \tex \tex \tex \tex \caption{2} \end{table}
\clearpage \invisiblesubsection{3} 
\begin{table}[b] \tex \tex \tex \tex \tex \caption{3} \end{table}
\clearpage \invisiblesubsection{4} 
\begin{table}[b] \tex \tex \tex \tex \tex \caption{4} \end{table}
\clearpage \invisiblesubsection{5} 
\begin{table}[b] \tex \tex \tex \tex \tex \caption{5} \end{table}
\clearpage \newpage \tableofcontents\label{toc}
\end{document}

Antwort1

Dieser Code löst das Problem, indem er b!als Float-Standortbezeichner für die Tabellen verwendet wird.

Wenn es !als Modifikator für den Standortbezeichner verwendet wird, überschreibt es alle Einschränkungen der Standardstandortregeln für Floats. Mit b!LaTeX wird stärker versucht, den Float am unteren Ende der Seite zu platzieren.

Der \clearpageBefehl zwingt LaTeX, die aktuelle Seite zu beenden und eine neue zu beginnen. Wenn Floats darauf warten, platziert zu werden, werden sie gemäß den Standardplatzierungsregeln auf der neuen Seite platziert. Wenn Sie jedoch den Modifikator „!“ verwendet haben, werden alle Floats, die darauf warten, platziert zu werden, am unteren Ende der Float-Seite platziert.

SehenSo beeinflussen Sie die Position von Schwimmern

B

\documentclass[10pt,a4paper,oneside]{article}
\makeatletter
\newcommand\invisiblesubsection[1]{%
    \refstepcounter{subsection}%
    \addcontentsline{toc}{subsection} 
    {\protect\numberline{\thesubsection}#1}%
    \subsectionmark{#1}\phantom{}}%
\makeatother
\newcommand\tex{\textbf{(0)} \begin{tabular}[c]{c|rrrrrr}
        $0$ & $0$ & & & & & \\ $0$ & $0$ & $0$ & & & & \\ $0$ & $0$ & $0$ & 
        $0$ & & & \\ $0$ & $0$ & $0$ & $0$ & $0$ & & \\ $0$ & $0$ & $0$ & 
        $0$ & $0$ & $0$ & \\ $0$ & $0$ & $0$ & $0$ & $0$ & $0$ & $0$ 
    \end{tabular} \vspace{5mm} \newline }
\begin{document}
    \section{One}       
    \invisiblesubsection{1} 
    \begin{table}[b!] \tex \tex \tex \tex \tex \caption{1} \end{table}
    \clearpage \invisiblesubsection{2} 
    \begin{table}[b!] \tex \tex \tex \tex \tex \caption{2} \end{table}
    \clearpage \invisiblesubsection{3} 
    \begin{table}[b!] \tex \tex \tex \tex \tex \caption{3} \end{table}
    \clearpage \invisiblesubsection{4} 
    \begin{table}[b!] \tex \tex \tex \tex \tex \caption{4} \end{table}
    \clearpage \invisiblesubsection{5} 
    \begin{table}[b!] \tex \tex \tex \tex \tex \caption{5} \end{table}
    \clearpage \newpage \tableofcontents\label{toc}
\end{document}

verwandte Informationen