我正在写一份包含图形、照片和地图的报告。如果我使用图形环境,则标题中的所有内容都会被标记为图形。但是,我想要做的是,当我有一张地图时,对地图进行适当的标记,例如地图 1:标题文本;地图 2:标题文本等,并能够在文本地图 \ref{map01} 中引用它。与照片相同。
我查看了一些常见问题解答,但似乎没有我想要的内容。有可能吗?
答案1
如果您使用tocbasic
KOMA-Script 捆绑包中的软件包,您还可以打印照片列表和地图列表。
\documentclass{article}
\usepackage{tocbasic}
\DeclareNewTOC[%
type=photo,
float,
name=Photo,
listname={List of Photos},
]{pho}
\DeclareNewTOC[%
type=map,
float,
name=Map,
listname={List of Maps},
]{map}
\makeatletter
% entries to the lists should have the same layout like entries to the list of figures
\renewcommand\l@photo{\l@figure}
\renewcommand\l@map{\l@figure}
\makeatother
\begin{document}
\listoffigures
\listofphotos
\listofmaps
\begin{figure}[ht] \centering\fbox{Figure}\caption{A figure} \end{figure}
\begin{photo}[ht] \centering\fbox{Photo}\caption{A photo} \end{photo}
\begin{map}[ht] \centering\fbox{Map}\caption{A map} \end{map}
\end{document}
还有一个nonfloat
选项\DeclareNewTOC
。它定义(附加的)非浮动环境<name>-
(例如photo-
)。
答案2
定义与您正在使用的类型相匹配的新浮点数:
\documentclass{article}
\usepackage{float}% http://ctan.org/pkg/float
\newfloat{photo}{htbp}{pho}\floatname{photo}{Photo}
\newfloat{map}{htbp}{map}\floatname{map}{Map}
\setcounter{topnumber}{3}% Just for this example
\begin{document}
Text
\begin{figure}[t] \caption{A figure} \end{figure}
\begin{photo}[t] \caption{A photo} \end{photo}
\begin{map}[t] \caption{A map} \end{map}
\end{document}
这float
包裹提供
\newfloat{<type>}{<placement>}{<ext>}[<within>]
答案3
我的解决方案使用了caption
包及其\captionsetup
工具,但是,这样就需要在每个figure
需要更改名称的环境中执行此操作。
这也不会提供不同的计数器或单独的lists of maps
等等。
\documentclass{report}
\usepackage{caption}%
\usepackage[demo]{graphicx}%
\begin{document}
\listoffigures
\chapter{First}
\begin{figure}
\captionsetup{name=Map}%
\centering
\includegraphics{somefig}%
\caption{Some Text}%
\end{figure}
\begin{figure}
\captionsetup{name=Photo}%
\centering
\includegraphics{somefig}%
\caption{This photograph shows ...}%
\end{figure}
\end{document}
‘地图’下方的数字“2”是页码;-)