附录中的图表引用不正确(或者不是我想要的方式:))

附录中的图表引用不正确(或者不是我想要的方式:))

在我的文档中,附录中有一些我想在正文中引用的图形,但输出\ref{}仅为“图 2 显示...”。它应该是“图 B.2”之类的。

这是我的最小示例:

\documentclass[bibliography=totoc,index=totoc,numbers=noenddot]{scrbook}
\usepackage[demo]{graphicx}
\begin{document}

\frontmatter
    \include{Titel}
    \tableofcontents

\mainmatter
    Here is my text \ref{fig:XYZ}

\backmatter
\appendix
\renewcommand\thesection{\Alph{section}}
\chapter{Appendix}
\section{UML-Diagrams}
\begin{figure}[h]
  \begin{center}
    \includegraphics[width=15cm]{xyz.jpg}
    \caption{\label{fig:XYZ}XYZ}
  \end{center}
\end{figure}

\end{document}

答案1

您还需要重新定义\thefigure为您自己的格式。默认情况下,scrbook从主要内容之外删除章节编号。我现在假设您实际上想要其中的节号。

还要注意,您\centering不应该center在浮动中使用环境,例如figure。这{figure}[h]永远不是一个好主意。如果您不想让图形浮动,请使用自己的环境(例如center现在可以),并将其用于\captionof{figure}{...}标题(需要caption(big) 或capt-of(small) 包)。另外,请将 放在\label之后\caption,而不是里面。两种方式都可以,但这样更好。

\documentclass[bibliography=totoc,index=totoc,numbers=noenddot]{scrbook}
\usepackage[draft]{graphicx}
\usepackage{capt-of}
\begin{document}

\mainmatter
Here is my text \ref{fig:XYZ}

Here is my text \ref{fig:XYZ2}

\backmatter
\appendix
\renewcommand\thesection{\Alph{section}}
\renewcommand{\thefigure}{\thesection.\arabic{figure}}
\chapter{Appendix}
\section{UML-Diagrams}

\begin{center}
    \includegraphics[width=15cm]{xyz.jpg}
    \captionof{figure}{XYZ}\label{fig:XYZ}
\end{center}

\begin{figure}
    \centering
    \includegraphics[width=15cm]{xyz.jpg}
    \caption{XYZ2}\label{fig:XYZ2}
\end{figure}

\end{document}

相关内容