Como formatar a bilegenda

Como formatar a bilegenda

Estou com alguns problemas com a formatação do bicaptionpacote e gostaria de perguntar se alguém pode me dar algumas dicas para resolver isso.

Acho que ontem foi tarde demais, então primeiro minhas queridas desculpas, Axel! Também sinto muito por não fornecer um MWE, que incluí agora:

\documentclass[12pt,halfparskip,BCOR0pt,DIV12]{scrartcl}
\usepackage[utf8]{inputenc}               
\usepackage[T1]{fontenc}                 
\usepackage[ngerman]{babel}             
\usepackage[intlimits]{amsmath}
\usepackage[a4paper,left=2.5cm, right=2.5cm,top=2.5cm, bottom=2cm,headsep=0.865cm]{geometry}
\usepackage{graphicx}
\usepackage{bicaption}
\captionsetup[figure][bi]{labelfont=it, font=it,justification=raggedright, singlelinecheck=false, margin={0mm,0mm}}
\captionsetup[figure][bi-first]{name=Bild}
\captionsetup[figure][bi-second]{name=Fig.}
\numberwithin{figure}{section}


\begin{document}

\section{Exemplum}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
\begin{figure}[h]
\includegraphics[width=\textwidth]{sample.png}
  \captionsetup{skip=0pt,}  
  \bicaption{Beispieltext}{Sample}  
  \label{fig:Q-pd}
\end{figure}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
\end{document}

Encontrei dois problemas principais e uma questão em aberto:

  1. o comando referente ao bi-primeiro não está funcionando, a legenda ainda é "Abbildung", por que isso?

  2. Para o primeiro cátion "Abbildung" existe um recuo, que só posso evitar ident=-6pta cada bilegenda no Texto, por que isso acontece e como posso remover o recuo das legendas globalmente? Tentei usar raggedrightconforme definido aqui, sem efeito, Raggedrightcom pacote ragged2ecausa erro inesperado e não está funcionando.

  3. O formato deve ficar assim, dado o deslocamento (tabulação) entre o tipo, o número e o texto, a legenda um alinhada com a legenda dois:

    Imagem x.xx:_{tab
    }_Text Fig.

Como posso definir uma distância entre o número da figura e a legenda, para que a primeira e a segunda legenda fiquem alinhadas, mas com deslocamento?

Obrigado por qualquer sugestão e também obrigado Axel por criar este ótimo pacote!

Responder1

  1. name=não funciona com bi-legendas controladas por babel(ainda). Se você quiser alterar o nome globalmente, use
\addto\captionsngerman{\renewcommand\figurename{Bild}}

em vez de. Se você deseja alterar o nome apenas para legendas duplas, você (atualmente) precisa de uma construção auxiliar como solução alternativa como esta:

\captionsetup[figure][bi-first]{ngermanname=Bild}
\makeatletter
\DeclareCaptionOption{ngermanname}{%
  \l@addto@macro\captionsngerman{\captionsetup{name={#1}}}}
\makeatother

Mas por que isso funciona para a legenda em inglês? Como esse idioma de legenda não é controlado, babeljá que você não forneceu um segundo idioma ao bicaptionpacote, por exemplo, com \usepackage[lang=english]{bicaption}ou \captionsetup[bi-second]{lang=english}.

Acabei de preencher um ticket1e corrigiremos esse bug nas próximas semanas para que a solução alternativa acima não seja mais necessária.

Plano de fundo: name=Bildmudará a definição de \figurenamequal será usado para rotular a legenda, mas posteriormente o bicaptionpacote mudará o idioma (usando babel) ngermanpara a primeira legenda, e isso mudará a definição de \figurenamevolta para Abbildung. Então, para fazer isso funcionar, preciso adicionar um tratamento especial da opção name=para bi-legendas ao meu bicaptionpacote, o argumento precisa ser armazenado e usadodepoismudando o idioma.

2a. Não posso reproduzir isso aqui. A sua distribuição TeX está atualizada? Você poderia adicionar uma imagem do recuo indesejado? Isto é o que parece no meu PC (TeXlive 2015, atualizado hoje):

insira a descrição da imagem aqui

Se "Abbildung" (ou "Bild") estiver recuado, isso poderá ser causado por espaços inseridos ao definir os idiomas. Você estende \captionsngermandentro do seu documento? Se sim, cuidado com os espaços indesejados!http://www.komascript.de/signifikanteLeerzeichen(Sinto muito pelo link em alemão, não conheço uma contraparte em inglês.)

2b. Mudar justification=raggedrightpara justification=RaggedRightno seu documento de exemplo também funciona bem aqui. Que mensagem de erro você recebe?

  1. Pode-se fazer isso definindo um formato de legenda próprio com \DeclareCaptionFormato qual coloca o rótulo mais o separador em uma caixa de largura fixa, por exemplo:
\DeclareCaptionFormat{6cm}{\hbox to 6cm{#1#2\hfill}#3\par}
\captionsetup[figure][bi]{format=6cm}

(6 cm será muito, então você precisa ajustar esse valor às suas necessidades.)

1 https://sourceforge.net/p/latex-caption/tickets/38/

informação relacionada