我试图引用一个图形,期望输出为“Abbildung 1”(我使用的是 german 包)。结果我只输出了 1,没有图形名称。我的代码:
\documentclass[a4paper,11pt, DIV=12]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage{pdfpages}
\usepackage{subfigure}
\usepackage{graphics} % for pdf, bitmapped graphics files
\usepackage{epsfig} % for postscript graphics files
\usepackage{amsmath} % nicer formulas
\usepackage{amssymb} % some additional symbols.
\usepackage{amsfonts}
\usepackage{booktabs} % nicer tabulars
\usepackage{subfigure} % subfigures in figures.
\usepackage[ngerman]{babel} % deutsche Referenzen, Trennung, etc.
\usepackage[numbers,comma, sort&compress]{natbib} % bessere Zitierung.
\begin{document}
\begin{figure}
\centering
\subfigure[]{\framebox[0.49\linewidth][c]{Bild1}}
\subfigure[]{\framebox[0.49\linewidth][c]{Bild2}}
\caption{Eine beispielhafte Bildunterschrift.}
\label{fig:FirstFigure}
\end{figure}
~\ref{fig:FirstFigure}
\end{document}
我已将标签正确地放置在标题后,但仍然无法获得所需的输出。
答案1
猜测你的序言表明你正在使用subfigure
,它已经过时了。
使用subfig
,或者更好subcaption
。
对于您想要的交叉引用类型,请使用fancyref
宏\fref
或cleveref
宏\cref
。Babel 只为各种片段提供字符串。无论是否使用这些片段,它都不会改变。
\ref{}
给出格式化的计数器值,或者有时给出计数器值的组合。它不指示计数器引用什么类型。如果您想指定它,您可以编写它或使用提供该功能的包或类。
例如,
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage{baskervald}
\usepackage{babel,subcaption,cleveref}
\begin{document}
\begin{figure}
\centering
\subcaptionbox{}{\framebox[0.49\linewidth][c]{Bild1}}
\subcaptionbox{}{\framebox[0.49\linewidth][c]{Bild2}}
\caption{Eine beispielhafte Bildunterschrift.}
\label{fig:FirstFigure}
\end{figure}
\cref{fig:FirstFigure}
\end{document}
cleveref
有关详细信息、选项和定制,请参阅手册。fancyref
类似。
将包切换fancyref
到
\fref{fig:FirstFigure}
我们得到