在我的文档中,附录中有一些我想在正文中引用的图形,但输出\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}