이중 캡션 형식을 지정하는 방법

이중 캡션 형식을 지정하는 방법

패키지 형식을 지정하는 데 몇 가지 문제가 있어서 bicaption누군가가 문제를 해결하기 위한 몇 가지 힌트를 지적할 수 있는지 묻고 싶습니다.

어제는 너무 늦었나보네요. 우선 사과드립니다. Axel! 또한 지금 포함된 MWE를 제공하지 못해 죄송합니다.

\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}

나는 두 가지 주요 문제와 하나의 공개 질문에 직면했습니다.

  1. bi-first를 참조하는 명령이 작동하지 않고 캡션이 여전히 "Abbildung"입니다. 이유는 무엇입니까?

  2. 첫 번째 양이온 "Abbildung"에는 들여쓰기가 있는데 ident=-6pt텍스트 내의 각 bicaption에서만 피할 수 있습니다. 왜 그런 것이며 전역적으로 캡션에 대한 들여쓰기를 제거하려면 어떻게 해야 합니까? 패키지에 예상치 못한 오류가 발생하고 작동하지 않는데 raggedright아무런 효과도 없이 여기에 설정된 대로 사용해 보았습니다 .Raggedrightragged2e

  3. 유형과 숫자, 텍스트 사이의 오프셋(탭)이 주어지고 캡션 1이 캡션 2와 정렬된 경우 형식은 다음과 같습니다.

    그림 x.xx:_{tab}_Text
    그림 x.xx:_{tab}_Text

첫 번째와 두 번째 캡션이 정렬되지만 오프셋이 있는 그림 번호와 캡션 사이의 거리를 어떻게 설정할 수 있습니까?

어떤 제안이라도 감사드리며, 이 훌륭한 패키지를 제안해주신 Axel에게도 감사드립니다!

답변1

  1. name=babel(아직) 에 의해 제어되는 이중 캡션에서는 작동하지 않습니다 . 이름을 전체적으로 변경하려면 다음을 사용하십시오.
\addto\captionsngerman{\renewcommand\figurename{Bild}}

대신에. 이중 캡션의 이름만 변경하려면 (현재) 다음과 같은 해결 방법으로 도우미 구성이 필요합니다.

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

그런데 왜 영어 캡션에서는 작동합니까? 예를 들어 또는 를 사용하여 패키지 babel에 두 번째 언어를 제공하지 않았기 때문에 해당 캡션 언어는 에 의해 제어되지 않기 때문입니다 .bicaption\usepackage[lang=english]{bicaption}\captionsetup[bi-second]{lang=english}

방금 티켓을 충전했어요1다음 주 내에 이 버그를 수정하여 위의 해결 방법이 더 이상 필요하지 않게 될 것입니다.

배경: 캡션에 레이블을 지정하는 데 사용되는 name=Bild정의를 변경 하지만 나중에 패키지에서 첫 번째 캡션에 대해 언어( 사용 )를 로 전환 하고 이로 인해 의 정의가 다시 로 변경됩니다 . 따라서 이 작업을 수행하려면 패키지 에 이중 캡션 옵션에 대한 특수 처리를 추가해야 하며 인수를 저장하고 사용해야 합니다.\figurenamebicaptionbabelngerman\figurenameAbbildungname=bicaption~ 후에언어를 전환합니다.

2a. 여기서는 이것을 재현할 수 없습니다. TeX 배포판이 최신 상태입니까? 원치 않는 들여쓰기 이미지를 추가해 주실 수 있나요? 내 PC에서는 다음과 같이 보입니다(TeXlive 2015, 오늘 업데이트됨).

여기에 이미지 설명을 입력하세요

"Abbildung"(또는 "Bild")이 들여쓰기된 경우 이는 언어 설정 시 삽입된 공백으로 인해 발생할 수 있습니다. \captionsngerman문서 내에서 확장합니까 ? 그렇다면 원하지 않는 공간을 염두에 두십시오!http://www.komascript.de/signifikanteLeerzeichen(독일어 링크는 유감입니다. 영어 링크는 모르겠습니다.)

2b. 예제 문서에서 justification=raggedright로 변경하면 여기에서도 잘 작동합니다. 어떤 오류 메시지가 표시됩니까?justification=RaggedRight

  1. \DeclareCaptionFormat레이블과 구분 기호를 고정 너비의 상자에 넣는 자체 캡션 형식을 정의하여 이를 수행할 수 있습니다 . 예를 들면 다음과 같습니다.
\DeclareCaptionFormat{6cm}{\hbox to 6cm{#1#2\hfill}#3\par}
\captionsetup[figure][bi]{format=6cm}

(6cm는 너무 크므로 필요에 따라 이 값을 조정해야 합니다.)

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

관련 정보