![附录中的图表引用不正确(或者不是我想要的方式:))](https://linux22.com/image/241635/%E9%99%84%E5%BD%95%E4%B8%AD%E7%9A%84%E5%9B%BE%E8%A1%A8%E5%BC%95%E7%94%A8%E4%B8%8D%E6%AD%A3%E7%A1%AE%EF%BC%88%E6%88%96%E8%80%85%E4%B8%8D%E6%98%AF%E6%88%91%E6%83%B3%E8%A6%81%E7%9A%84%E6%96%B9%E5%BC%8F%3A)%EF%BC%89.png)
在我的文档中,附录中有一些我想在正文中引用的图形,但输出\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}