Anzeige:
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 15 von 74

Thema: Zweisprachige Bildunter-/Tabellenüberschriften

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103

    Zweisprachige Bildunter-/Tabellenüberschriften

    In einigen deutschen wissenschaftlichen Journalen findet man zusätzlich zum deutschen Abstrakt auch ein englisches Abstract sowie zweischprachige Tabellenüber- und Bildunterschriften in der Form:

    |||||||||||||||||||||||||||||
    Abbildung 1. Deutscher Titel
    Figure 1. Englischer Titel


    sowie

    Tabelle 1. Deutscher Titel
    Table 1. Englischer Titel
    |||||||||||||||||||||||||||||


    Dies würde ich gerne für eine Veröffentlichung ebenso praktizieren. Kann man soetwas beispielsweise mit dem caption-Paket realisieren? Vielen Dank schon mal im voraus.

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.06.2005
    Ort
    Karlsruhe
    Beiträge
    1.407
    Hallo,

    ich habe so etwas ähnliches mit KOMA-Script-Bordmitteln, nämlich der Umgebung captionbeside, gesetzt.
    1. Ich habe dazu die Bennenung verkürzt, so dass sie für beide Sprachen zutraf (z.B. Tab. 1).
    2. Ich habe die Beschriftungen untereinander gesetzt und jeweils noch einen Kommentar angefügt


    Der Phantasie sind dabei wenige Grenzen gesetzt. Beispielsweise könntest Du den einen Text aufrecht und den anderen kursiv setzen, oder ähnliches.

    Gruß,
    Alexander

  3. #3
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Ansonsten bietet das ccaption-Paket (mit doppel-c) eine Möglichkeit hierfür.

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103
    @cookie170: Danke, aber captionbeside kommt für mich leider nicht in Frage, die Beschriftungen sollen über bzw. unter den Tabellen bzw. Abbildungen stehen.

    @sommerfee: Danke für den Hinweis auf ccaption. Ich habe damit jetzt etwas herumprobiert, aber leider ist es noch nicht so elegant wie ich mir das wünschen würde.

    Der Befehl \bicaption erfordert jedesmal die zusätzliche Eingabe des Names der jeweiligen Umgebung. Dies würde ich gerne automatisieren, und habe entsprechend zwei eigene Befehel angelegt: \figbicaption und \tabbicaption. Ich ahbe zwei Befehle angelegt, da ich nicht weiß, wie man automatisch die Art der Umgebung abfragen kann. In den eigenen Befehlen würde ich jetzt gerne über \selectlanguage{"zweite Sprache"}\figurename bzw. \selectlanguage{"zweite Sprache"}\tablename die voreingestellten Bezeichnungen verwenden. Leider bekomme ich dann eine Fehlermeldung, dass \bicaption zu viele Parameter hätte. Schade. Hier mein lauffähiges Beispiel:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    
    \usepackage{babel}
    
    \usepackage{ccaption}
    \usepackage{caption}
    
    \newcommand{\figbicaption}[3]{%
      \bicaption[#1]{}{#2}{Figure}{#3}%   {\selectlanguage{english}\figurename}
      }
    
    \newcommand{\tabbicaption}[3]{%
      \bicaption[#1]{}{#2}{Table}{#3}%   {\selectlanguage{english}\tablename}
      }
    
    \begin{document}
    
    \begin{figure}
      \figbicaption{fig:test}{Deutscher Titel}{English Title}
    \end{figure}
    
    \begin{table}
      \tabbicaption{tab:test}{Deutscher Titel}{English Title}
    \end{table}
    
    \end{document}
    Kann mein Wunsch nach Automatisierung erfüllt werden?

    Eine weitere Frage: soweit ich das Manual zu ccaption verstanden habe, sieht das Paket nicht vor, das ich die Captions der zwei Sprachen unterschiedlich formatiere, d.h. bspw. die erste normal und die zweite kursiv. Kann ich das irgendwie doch machen.


    p.s.:
    @ sommerfee: Hast du schon mal über eine Ergänzung zweisprachiger Über-/Unterschriften für das caption und das subcaption-Paket nachgedacht?

  5. #5
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Der Name der Gleitumgebung steht in \@captype.

    Warum es mit \captionsenglish\@nameuse{\@captype name} nicht funktioniert, weiß ich aus dem Stegreif auch nicht, ich werde mir das am Wochenende mal anschauen.

    Zitat Zitat von slowfox Beitrag anzeigen
    @ sommerfee: Hast du schon mal über eine Ergänzung zweisprachiger Über-/Unterschriften für das caption und das subcaption-Paket nachgedacht?
    Über einen passenden Eintrag in meiner TODO.txt bin ich diesbezüglich leider noch nicht hinausgekommen...
    Geändert von sommerfee (23-05-2010 um 09:11 Uhr)

  6. #6
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von sommerfee Beitrag anzeigen
    Warum es mit \captionsenglish\@nameuse{\@captype name} nicht funktioniert, weiß ich aus dem Stegreif auch nicht, ich werde mir das am Wochenende mal anschauen.
    Woran es liegt, weiß ich zwar immer noch nicht, da ich aber keine Lust hatte, in den Quellen von ccaption herumzuwühlen, habe ich das Problem über ein Hilfsmakro gelöst:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage{ccaption}
    
    \makeatletter
    \newcommand{\mybicaption}[3]{%
      \begingroup
        \captionsenglish
        \edef\@tempa{\endgroup
          \def\noexpand\@tempa{\@nameuse{\@captype name}}}
      \@tempa
      \bicaption[{#1}]{}{#2}{\@tempa}{#3}%
      }
    \makeatother
    
    \begin{document}
    
    \begin{figure}
      \mybicaption{fig:test}{Deutscher Titel}{English Title}
    \end{figure}
    
    \begin{table}
      \mybicaption{tab:test}{Deutscher Titel}{English Title}
    \end{table}
    
    \end{document}
    Liebe Grüße,
    Axel
    Geändert von sommerfee (23-05-2010 um 09:23 Uhr)

  7. #7
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    ...und hier eine passende Lösung unter Zuhilfenahme des caption-Paketes:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage{caption}
    
    \newcommand{\mybicaption}[3]{%
      \caption{#2\label{#1}}%
      \begingroup
        \ContinuedFloat
        \captionsenglish
        \captionsetup{font=it,labelfont=it}%
        \captionsetup{belowskip=\abovecaptionskip,aboveskip=0pt}%
        \caption[]{#3}%
      \endgroup}
    
    \begin{document}
    
    \listoffigures
    
    \begin{figure}
      \centering Test
      \mybicaption{fig:test}{Deutscher Titel}{English Title}
    \end{figure}
    
    \begin{table}
      \mybicaption{tab:test}{Deutscher Titel}{English Title}
      \centering Test
    \end{table}
    
    \end{document}
    Beide Lösungen (also sowohl die mit ccaption als auch die mit caption) haben leider den Nachteil, daß die englische Beschriftung mit deutschen Trennmustern getrennt wird. Ich lasse mir diesbezüglich was einfallen und melde mich dann wieder... (Kann aber ein wenig dauern)
    Geändert von sommerfee (23-05-2010 um 09:27 Uhr)

  8. #8
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103
    Herzlichen Dank ersteinmal. Eine ähnliche Lösung mit dem Caption-Paket hatte ich mir inzwischen allerdings auch überlegt, aber ohne die captionsetup-Einstellungen; und auch die Befehle begin/endgroup waren mir bislang unbekannt. Ich habe babel genutzt, um die Sprache umzustellen, wodurch auch das Trennmuster geändert wird. Hier eine Kombination dieser Idee mit deinem Vorschlag:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage{caption}
    
    \newcommand{\mynewbicaption}[3]{%
      \caption{#2\label{#1}}%
      \begingroup
        \ContinuedFloat
        \selectlanguage{english}
        \captionsetup{font=it,labelfont=it}%
        \captionsetup{aboveskip=0pt}%
        \caption[]{#3}%
      \endgroup}
    
    
    \begin{document}
    
    \listoffigures
    
    \begin{figure}
      \centering Test
      \mynewbicaption{fig:test}{Deutscher Titel}{English Title}
    \end{figure}
    
    \begin{table}
      \mynewbicaption{tab:test}{Deutscher Titel}{English Title}
      \centering Test
    \end{table}
    
    \end{document}
    Geändert von slowfox (23-05-2010 um 15:10 Uhr)

  9. #9
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103

    Und nun für die Subcaptions...

    Zweisprachige Abbildungsbeschriftungen klappen prima. Nun nutze ich aber auch das Paket Subcaption für Unterabbildungen, und auch die Unter-Überschriften sollen möglichst zweisprachig sein. Ich habe mir da Folgendes ausgedacht:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage[compatibility=false]{caption}
    \usepackage{subcaption}
    
    \newcommand{\mynewbicaption}[3]{%
      \caption{#2\label{#1}}%
      \begingroup
        \ContinuedFloat
        \selectlanguage{english}
        \captionsetup{font=it,labelfont=it}%
        \captionsetup{aboveskip=0pt}%
        \caption[]{#3}%
      \endgroup}
    
    \newcommand{\mynewbisubcaption}[3]{%
        #1\\ %
        \textit{(\subref{#3}) #2}%
        \label{#3}}
    
    \begin{document}
    
    \begin{figure}
      \centering
      \subcaptionbox{\mynewbisubcaption{Teilabbildung A}{Subfigure A}{fig:test:A}}[0.5\textwidth]{BILD}%
      \subcaptionbox{\mynewbisubcaption{Teilabbildung B}{Subfigure B}{fig:test:B}}[0.5\textwidth]{BILD}%
      \mynewbicaption{fig:test}{Deutscher Titel}{English Title}
    \end{figure}
    
    \end{document}
    Bringt gruindsätzlich das gewünschte Ergebnis, erscheint mir aber nicht sonderlich elegant. Wie kann ich dass besser machen?

  10. #10
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Eine andere (aber auch bessere?) Lösung:
    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage{caption,subcaption}
    
    \makeatletter
    \DeclareCaptionFormat{bi}{%
      #1#2#3%
      \@ifundefined{bicaptionx}{}{%
        \selectlanguage{english}%
        \textit{#1#2\bicaptionx}}}
    \makeatother
    \captionsetup{format=bi,labelfont={}}
    
    \newcommand\bicaption[2]{%
      \long\def\bicaptionx{#2}%
      \caption{#1}}
    \newcommand\bisubcaptionbox[2]{%
      \long\def\bicaptionx{#2}%
      \subcaptionbox{#1}}
    
    \begin{document}
    
    \begin{figure}
      \centering
      \bisubcaptionbox{Teilabbildung A\label{fig:test:A}}{Subfigure A}[0.5\textwidth]{BILD}%
      \bisubcaptionbox{Teilabbildung B\label{fig:test:B}}{Subfigure B}[0.5\textwidth]{BILD}%
      \bicaption{Deutscher Titel}{English Title}
      \label{fig:test}
    \end{figure}
    
    \end{document}
    Anmerkungen:

    - Die Definition eines eigenen Caption-Formates erscheint mir elegant, hat aber den Nachteil, daß man nicht mehr "format=hang" einstellen kann. Möchte man "hängende" captions, so müsste man dies selber in obriges Format namens "bi" einbauen.

    - Das "labelfont={}" ist für KOMA-Script notwendig, weil KOMA-Script ansonsten den Zeichensatz des Labels explizit auf \normalfont zurücksetzt. (Siehe auch Doku zum caption-Paket, Abschnitt über KOMA-Script)

    - Obrige Lösung funktioniert vermutlich nicht in Verbindung mit dem sidecap- und/oder dem fltpage-Paket. Wenn Bedarf dafür da ist, bitte bescheid geben, dann denke ich mir was aus.

    - Bei obriger Lösung fällt zwar das optionale Argument von \caption bzw. \subcaptionbox für den Verzeichniseintrag unter den Tisch, dies ließe sich aber problemlos nachrüsten. Ich habe es erstmal bewußt nicht eingebaut, um den Quelltext verständlich zu halten. Wer es dennoch gerne haben möchte:

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage[list=on]{caption,subcaption}
    
    \makeatletter
    
    \DeclareCaptionFormat{bi}{%
      #1#2#3%
      \@ifundefined{bicaptionx}{}{%
        \selectlanguage{english}%
        \textit{#1#2\bicaptionx}}}
    
    \newcommand\bicaption{%
      \caption@withoptargs\@bicaption}
    \newcommand\@bicaption[3]{%
      \long\def\bicaptionx{#3}%
      \caption#1{#2}}
    \newcommand\bisubcaptionbox{%
      \caption@withoptargs\@bisubcaptionbox}
    \newcommand\@bisubcaptionbox[3]{%
      \long\def\bicaptionx{#3}%
      \subcaptionbox#1{#2}}
    
    \makeatother
    
    \captionsetup{format=bi,labelfont={}}
    
    \begin{document}
    
    \listoffigures
    
    \begin{figure}
      \centering
      \bisubcaptionbox[A]{Teilabbildung A\label{fig:test:A}}{Subfigure A}[0.5\textwidth]{BILD}%
      \bisubcaptionbox[B]{Teilabbildung B\label{fig:test:B}}{Subfigure B}[0.5\textwidth]{BILD}%
      \bicaption[Abbildungstitel]{Deutscher Titel}{English Title}
      \label{fig:test}
    \end{figure}
    
    \end{document}
    (Äquivalent zu \bicaption und \bicaptionbox ließe sich auch ein \bisubcaption definieren.)

    \caption@withoptargs ist hierbei ein Hilfsmakro des caption-Paketes, welches alle optionalen Argumente aufsammelt und an das nächste Makro diese in Form von #1 übergibt. Für nur ein optionales Argument hätte man das zwar auch "zu Fuß" machen können, durch die Verwendung von \caption@withoptargs funktioniert jedoch auch \bicaption*{Test dt}{Test en}, da \caption@withoptargs auch den * aufsammelt. (Mehr zu \caption@withoptargs findet sich in den kommentierten Quellen vom caption-Paket, also caption.pdf.)

    Liebe Grüße,
    Axel
    Geändert von sommerfee (13-07-2010 um 08:26 Uhr)

  11. #11
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Und weils gerade so schön ist, noch eine Flexibilisierung obriger Lösung. Man ersetze die Definition des Caption-Formates "bi" durch:

    Code:
    \DeclareCaptionOption{lang}{%
      \selectlanguage{#1}}
    
    \DeclareCaptionFormat{bi}{%
      #1#2#3%
      \@ifundefined{bicaptionx}{}{%
        \caption@setoptions{bi}%
        \caption@hj\captionfont\captionsize
        #1#2\bicaptionx}}
    Dann kann man mit \captionsetup[bi]{...} die Sprache und das Aussehen der "zweiten" Beschriftung selber festlegen; um das gleiche Ergebnis wie oben zu erhalten wäre das:

    Code:
    \captionsetup[bi]{lang=english,font=it}
    Liebe Grüße,
    Axel
    Geändert von sommerfee (13-07-2010 um 08:56 Uhr)

  12. #12
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Auf die Gefahr hin, daß ich diesen Thread dichtspamme

    bicaption.sty:

    Code:
    %%
    %% This is file `bicaption.sty',
    %%
    %% Copyright (C) 2010 Axel Sommerfeldt (caption@sommerfee.de)
    %% 
    %% --------------------------------------------------------------------------
    %% 
    %% This work may be distributed and/or modified under the
    %% conditions of the LaTeX Project Public License, either version 1.3
    %% of this license or (at your option) any later version.
    %% The latest version of this license is in
    %%   http://www.latex-project.org/lppl.txt
    %% and version 1.3 or later is part of all distributions of LaTeX
    %% version 2003/12/01 or later.
    %% 
    %% This work has the LPPL maintenance status "maintained".
    %% 
    %% This Current Maintainer of this work is Axel Sommerfeldt.
    %% 
    %% This work consists of the file bicaption.sty.
    %% 
    
    \NeedsTeXFormat{LaTeX2e}[1994/12/01]
    \ProvidesPackage{bicaption}[2010/07/13 v0.2 Bilingual Captions (AR)]
    
    \@ifundefined{caption@subtypehook}{% we need caption v3.1f or newer
      \PackageError{subcaption}{`caption' package not loaded\MessageBreak
        (which is needed by this package)\@gobble}{%
        If you do not understand this error, please take a closer look\MessageBreak
        at the documentation of the `bicaption' package.\MessageBreak
        \@ehc}%
      \endinput}{}
    
    \DeclareCaptionOption{biformat}{%
      \def\bicaption@format{#1}}
    
    \newcommand\bicaption@fmt{%
      \@nameuse{caption@fmt@\bicaption@format}}
    
    \DeclareCaptionOption{lang}{%
      \selectlanguage{#1}}
    
    \caption@ExecuteOptions{caption}{biformat=plain}
    
    \let\caption@setkeys@ORI\caption@setkeys
    \renewcommand\caption@setkeys[2]{\captionsetup[bi]{#2}}
    \caption@ProcessOptions*{bicaption}
    \let\caption@setkeys\caption@setkeys@ORI
    \let\caption@setkeys@ORI\@undefined
    
    \providecommand\caption@prefmt{%
      \caption@hj\captionfont\captionsize}
    \providecommand\caption@postfmt{%
      }
    
    \DeclareCaptionFormat{@bi}{%
      \bicaption@fmt{#1}{#2}{#3}%
      \caption@postfmt
      \caption@setoptions{bi}%
      \caption@prefmt
      \bicaption@fmt{#1}{#2}{\bicaption@text}}
    
    \newcommand\bicaption@setup[1]{%
      \global\long\def\bicaption@text{#1}%
      \captionsetup{format=@bi}}
    
    \newcommand\bicaption{%
      \caption@withoptargs\@bicaption}
    \newcommand\@bicaption[3]{%
      \bicaption@setup{#3}%
      \caption#1{#2}}
    
    \newcommand\bisubcaption{%
      \caption@withoptargs\@bisubcaption}
    \newcommand\@bisubcaption[3]{%
      \bicaption@setup{#3}%
      \subcaption#1{#2}}
    
    \newcommand\bisubcaptionbox{%
      \caption@withoptargs\@bisubcaptionbox}
    \newcommand\@bisubcaptionbox[3]{%
      \bicaption@setup{#3}%
      \subcaptionbox#1{#2}}
    
    \endinput
    Damit würde ein Beispieldokument lauten:
    (ACHTUNG: bicaption muß nach dem caption-Paket geladen werden!)

    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage[labelfont={}]{caption}
    \usepackage[list=on]{subcaption}
    \usepackage[lang=english,font=it]{bicaption}
    
    \begin{document}
    
    \listoffigures
    
    \begin{figure}
      \centering
      \bisubcaptionbox[A]{Teilabbildung A\label{fig:test:A}}{Subfigure A}[0.5\textwidth]{BILD}%
      \bisubcaptionbox[B]{Teilabbildung B\label{fig:test:B}}{Subfigure B}[0.5\textwidth]{BILD}%
      \bicaption[Abbildungsverzeichnistitel]{Deutscher Titel}{English Title}
      \label{fig:test}
      \bicaption*{Test dt}{Test en}
    \end{figure}
    
    \begin{figure}
      \centering
      \subcaptionbox[]{}[0.5\textwidth]{BILD}%
      \subcaptionbox[]{}[0.5\textwidth]{BILD}%
      \bicaption[Abbildungsverzeichnistitel]{Deutscher Titel}{English Title}
      \label{fig:test2}
    \end{figure}
    
    \end{document}
    Ich denke ich werde in Zukunft dieses bicaption.sty einfach 'mal meinem caption-Paket beilegen, auf die Gefahr hin, daß ich diesen Schnellschuß dann bis ans Ende meines Lebens supporten muß.

    Liebe Grüße,
    Axel

    Nachtrag: Mit \captionsetup{biformat=...} kann man nun das Format festlegen, mit dem beide Beschriftungen gesetzt werden. Default ist biformat=plain.
    Geändert von sommerfee (13-07-2010 um 10:28 Uhr) Grund: bicaption.sty v0.1 durch 0.2 ersetzt, Nachtrag ergänzt

  13. #13
    Registrierter Benutzer
    Registriert seit
    09.08.2007
    Beiträge
    103
    Axel, du bist einfach prima! Ich danke Dir.

    Beim Rumspielen mit dem bicaption-Paket viel mir auf, dass es durchaus möglich ist, die Subcaptions nummeriert zu haben, während die caption in der Stern-Variante unnummeriert verwendet wird. (Über den Sinn und Unsinn dieser Kombination ließe sich sicherlich streiten.) Bei der nächsten figure beginnt die Nummerierung der Subfigures dann nicht bei a, sondern bei, im Beispiel, c. Ist das ein Problem von bicaption, oder allgemein von subcaption?


    Code:
    \documentclass[english,ngerman]{scrartcl}
    
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{babel}
    
    \usepackage[labelfont={}]{caption}
    \usepackage[list=on]{subcaption}
    \usepackage[lang=english,font=it]{bicaption}
    
    \begin{document}
    
    \listoffigures
    
    \begin{figure}
      \centering
      \bisubcaptionbox{Teilabbildung A\label{fig:test2:A}}{Subfigure A}[0.5\textwidth]{BILD}%
      \bisubcaptionbox{Teilabbildung B\label{fig:test2:B}}{Subfigure B}[0.5\textwidth]{BILD}%
      \bicaption*{Deutscher Titel}{English Title}
      \label{fig:test2}
    \end{figure}
    
    
    \begin{figure}
      \centering
      \bisubcaptionbox[A]{Teilabbildung A\label{fig:test:A}}{Subfigure A}[0.5\textwidth]{BILD}%
      \bisubcaptionbox[B]{Teilabbildung B\label{fig:test:B}}{Subfigure B}[0.5\textwidth]{BILD}%
      \bicaption[Abbildungsverzeichnistitel]{Deutscher Titel}{English Title}
      \label{fig:test}
    \end{figure}
    
    \end{document}

  14. #14
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von slowfox Beitrag anzeigen
    Bei der nächsten figure beginnt die Nummerierung der Subfigures dann nicht bei a, sondern bei, im Beispiel, c. Ist das ein Problem von bicaption, oder allgemein von subcaption?
    Das ist ein Problem von subcaption, welches auch ohne das bicaption-Paket auftritt. Es läßt sich auch leider nicht trivial lösen, denn egal wie die subcaptions intern implementiert werden, es gibt immer irgendwelche Seiteneffekte, die ich nur minimieren, aber nicht ganz beseitigen kann.

    Ganz konkret ist es so, daß das subcaption-Paket die Nummerierung weiterführt, wenn entweder \ContinuedFloat verwendet wird, oder in der vorherigen Abbildung keine \caption gesetzt wird. \caption* (oder \bicaption*) gilt hierbei nicht, denn dies setzt keine "echte" Beschriftung (und erhöht insbesondere nicht den Abbildungszähler, dies ist das Hauptproblem!), sondern nur einen Textabsatz, der so formatiert wird, wie es für die Abbildungsbeschriftungen eingestellt ist. (Ohne Erhöhung des Abbildungszählers ist übrigens auch das \label ungültig bzw. verweist auf die letzte \section anstatt auf diese Abbildung.)

    Abhilfe wäre in diesem Falle, nicht \caption* (oder \bicaption*) zu nehmen, sondern stattdessen eine "echte" Beschriftung mit \caption (oder \bicaption) zu setzen. Will man diese optisch nicht nummeriert haben (intern und ggf. im Abbildungsverzeichnis aber sehr wohl nummeriert!), so muß man eben ein \captionsetup{labelformat=empty} vorwegsetzen, etwa so:
    Code:
      \captionsetup{labelformat=empty}
      \bicaption{Deutscher Titel}{English Title}
      \label{fig:test2}
    Alternativ könnte man auch mit \captionlistentry{Titel für's Abbildungsverzeichnis} einen Eintrag ins Abbildungsverzeichnis vornehmen und den Zähler erhöhen, also
    Code:
      \bicaption*{Deutscher Titel}{English Title}
      \captionlistentry{Deutscher Titel}
      \label{fig:test2}
    Oder mit \refstepcounter{figure} selber den Abbildungszähler erhöhen.
    Code:
      \bicaption*{Deutscher Titel}{English Title}
      \refstepcounter{figure}
      \label{fig:test2}
    Will man aber gar nicht, daß diese Abbildung intern eine Nummer bekommt, dann könnte man nach der Abbildung mit \setcounter{subfigure}{0} den Zähler für die Unterabbildungen zurücksetzen, die würden dann bei der nächsten Abbildung wieder bei (a) anfangen.

    Alles nicht ganz einfach zu durchschauen, es ist aber nunmal (leider) so, daß der Abbildungszähler bei \caption und nicht bei \begin{figure} erhöht wird, und mit der Erhöhung des Zählers auch die interne Referenzbildung vorgenommen wird, so daß \label greifen kann.

    Liebe Grüße,
    Axel
    Geändert von sommerfee (13-07-2010 um 12:35 Uhr)

  15. #15
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Zitat Zitat von slowfox Beitrag anzeigen
    Beim Rumspielen mit dem bicaption-Paket viel mir auf, dass es durchaus möglich ist, die Subcaptions nummeriert zu haben, während die caption in der Stern-Variante unnummeriert verwendet wird. (Über den Sinn und Unsinn dieser Kombination ließe sich sicherlich streiten.) Bei der nächsten figure beginnt die Nummerierung der Subfigures dann nicht bei a, sondern bei, im Beispiel, c. Ist das ein Problem von bicaption, oder allgemein von subcaption?
    Das ist ein Problem - oder besser: ein Feature - von LaTeX. Wenn ein Zähler an einen anderen Zähler gekoppelt ist (z.B. subsection an section), wird der untergeordnete Zähler auf 0 zurückgesetzt, sobald der übergeordnete Zähler hochgesetzt wird. Bei caption* wird kein Zähler hochgesetzt, also wird auch kein Subzähler zurückgesetzt. (Unabhängig davon halte ich bei unnummerierten Abbildungen nummerierte Unterabbildungen für nicht sinnvoll.)

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

Lesezeichen

Berechtigungen

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