Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Zweiseitige Tabelle

  1. #1
    Registrierter Benutzer
    Registriert seit
    22.11.2010
    Beiträge
    11

    Zweiseitige Tabelle

    Hallo zusammen!

    habe folgendes Problem, vielleicht fällt Euch dazu etwas ein:

    Ein Programm gibt eine ASCII-Datei über 2 Seiten aus, dies möchte ich als Tabelle in einen LaTeX-Code einfügen. Das sieht aktuell ungefähr so aus:

    \begin{table}[htbp]
    \captionabove{Blubb}
    \begin{lstlisting}[...]
    Bla bla, füllt 1 Seite

    (Fortsetzung folgt)
    \end{lstlisting}
    \end{table}

    \addtocounter{table}{-1}
    \begin{table}[htbp]
    \captionabove{Blubb (Fortsetzung)}
    \begin{lstlisting}[...]
    Bla bla, füllt die 2. Seite
    \end{lstlisting}
    \end{table}


    Funktioniert erstmal genau so wie es soll, die beiden Teile der Tabelle haben die gleiche Nummer, das ist ja auch beabsichtigt, weil es noch die gleiche Tabelle ist.

    Sobald ich aber das Paket hyperref verwende, bekomme ich die Meldung

    destination with the same identifier (
    name{table.3.2}) has been already used, duplicate ignored

    Das Problem ist offensichtlich der addtocounter, löscht man den, gehts. Wie würdet Ihr das lösen? Vielen Dank!!

    Gruß, hajoe

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Ich würde nur einmal einen Eintrag ins Verzeichnis vornehmen lassen und auch keine table-Umgebung verwenden. Wenn Du ohnehin das listing in zwei Portionen aufteilst, dann geht das eventuell mit einer longtable-Umgebung mit Hilfe des gleichnamigen Pakets. Um das zu testen fehlt mir aber ein vollständiges Minimalbeispiel, siehe alternativ auch diese mit Anleitung zur Erstellung nicht nur für Anfänger

  3. #3
    Registrierter Benutzer Avatar von cgnieder
    Registriert seit
    06.04.2011
    Ort
    Herrenberg
    Beiträge
    254
    Ich habe auf TeX.sx einmal eine Kombination von listings und mdframed gepostet, bei der einem Listing beim Seitenumbruch der Text „Listing continues on next page“ angehängt wurde, wenn das Listing sich über zwei Seiten ersteckte. Bei der Lösung könnte man einfach die caption Option von listings verwenden:

    Code:
    \documentclass{article}
    \usepackage[T1]{fontenc}
    
    \usepackage[framemethod=tikz]{mdframed}
    % define the frame style for the listing:
    \mdfdefinestyle{note}
      {
        hidealllines = true ,
        skipabove    = .5\baselineskip ,
        skipbelow    = .5\baselineskip ,
        singleextra  = {} ,
        firstextra   = {
          \node[below right,overlay,align=left,font=\continuingfont]
            at (O) {\continuingtext};
        } ,
        secondextra  = {
          \node[above right,overlay,align=left,font=\continuingfont]
            at (O |- P) {\continuedtext};
        } ,
        middleextra  = {
          \node[below right,overlay,align=left,font=\continuingfont]
            at (O) {\continuingtext};
          \node[above right,overlay,align=left,font=\continuingfont]
            at (O |- P) {\continuedtext};
        }
      }
    
    % customize the appearance of the continuing notes:
    \newcommand*\continuingfont{\footnotesize\itshape}
    \newcommand*\continuingtext{Listing continues on next page}
    \newcommand*\continuedtext{Continuing from last page}
    
    \usepackage{listings}
    % define the listings style:
    \lstdefinestyle{code}{
      language         = [LaTeX]TeX,
      basicstyle       = \small\ttfamily ,
      numbers          = left,
      numberstyle      = \tiny,
      numberblanklines = true,
      breaklines       = true,
      keepspaces       = true,
      columns          = fullflexible,
      % whatever else you want ...
    }
    
    % define the environment:
    \lstnewenvironment{listing}[1][]
      {%
        \lstset{style=code,#1}%
        \mdframed[style=note]%
      }
      {%
        \endmdframed
      }
    
    \usepackage{lipsum}% dummy text
    
    \usepackage{hyperref}
    
    \begin{document}
    
    \lstlistoflistings
    
    \section{Test}
    \lipsum[1-2]
    
    \begin{listing}[caption=A Listings Caption]
    \usepackage[framemethod=tikz]{mdframed}
    \mdfdefinestyle{note}
      {
        hidealllines = true ,
        skipabove    = .5\baselineskip ,
        skipbelow    = .5\baselineskip ,
        singleextra  = {} ,
        firstextra   = {
          \node[below right,overlay,align=left,font=\continuingfont]
            at (O) {\continuingtext};
        } ,
        secondextra  = {
          \node[above right,overlay,align=left,font=\continuingfont]
            at (O |- P) {\continuedtext};
        } ,
        middleextra  = {
          \node[below right,overlay,align=left,font=\continuingfont]
            at (O) {\continuingtext};
          \node[above right,overlay,align=left,font=\continuingfont]
            at (O |- P) {\continuedtext};
        }
      }
    \newcommand*\continuingfont{\footnotesize\itshape}
    \newcommand*\continuingtext{Listing continues on next page}
    \newcommand*\continuedtext{Continuing from last page}
    
    \usepackage{listings}
    \lstdefinestyle{code}{
      language         = [LaTeX]TeX,
      basicstyle       = \small\ttfamily ,
      numbers          = left,
      numberstyle      = \tiny,
      numberblanklines = true,
      breaklines       = true,
      keepspaces       = true,
      columns          = fullflexible,
      % whatever else you want ...
    }
    \lstnewenvironment{listing}[1][]
      {%
        \lstset{style=code,#1}%
        \mdframed[style=note]%
      }
      {%
        \endmdframed
      }
    \end{listing}
    
    \lipsum[2]
    
    \end{document}
    Grüße
    Clemens

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •