pgfgantt의 인라인 레이블 수직 정렬

pgfgantt의 인라인 레이블 수직 정렬

디센더 공간을 자동으로 고려하여 라벨을 pgfgantt수직으로 정렬하는 것 같습니다 .inline

\documentclass{article}
\usepackage{pgfgantt}

\begin{document}

\begin{ganttchart}[
    inline,
]{1}{4}
\ganttbar{XX}{2}{3}
\end{ganttchart}

\end{document}

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

pgfgantt의 매뉴얼 에 있는 예제에서도 동일한 내용을 볼 수 있습니다 . 디센더가 없는 경우 레이블을 수직 중앙에 강제로 배치하려면 어떻게 해야 합니까? 나는 이것을 설정하여 달성했지만 bar inline label node/.append style={text depth=.5ex}매번 마법의 숫자를 수동으로 설정하고 싶지는 않습니다.

답변1

\strut막대 레이블 텍스트에 자동 삽입된 내용을 제거하려면 다음을 사용하십시오.

\ganttset{bar label text=#1}

\strut유사한 영역에 자동 삽입된 모든 항목을 제거하려면 다음을 사용하세요.

\documentclass{article}
\usepackage{pgfgantt}
\usepackage{xpatch}

\ganttset{
  title label text=#1,
  bar label text=#1,
  group label text=#1,
  milestone label text=#1,
}

\makeatletter
\xpatchcmd\@newganttchartelement@definekeys
  {\strut}
  {}
  {}{\fail}
\makeatother


\begin{document}

\begin{ganttchart}[inline]{1}{4}
  \ganttbar{XX}{2}{3}
\end{ganttchart}

\end{document}

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

관련 정보