Latex 如何创建自己的和新奇的\sub<;浮动>;命令
我正在使用包Latex 如何创建自己的和新奇的\sub<;浮动>;命令,latex,label,counter,caption,subfigure,Latex,Label,Counter,Caption,Subfigure,我正在使用包子图形和浮点创建我想要创建的图形和表格,并且我正在尝试创建我自己的环境图形,它有自己的计数器和标题(,感谢dmckee)。现在我想创建一个与\subfigure命令完全相同的\subfigure命令 我尝试使用ProCreate计数器创建自己的命令(,感谢Alexey)。但是使用\ref命令会出现问题。参考\subfigure返回2.1(a),但参考\subgraph返回1 当我试图找出如何解决这个问题时,我阅读了subfig手册,其中我找到了带有示例的\newsubfloat命令。
子图形
和浮点
创建我想要创建的图形和表格,并且我正在尝试创建我自己的环境图形
,它有自己的计数器和标题(,感谢dmckee)。现在我想创建一个与\subfigure
命令完全相同的\subfigure
命令
我尝试使用ProCreate计数器创建自己的命令(,感谢Alexey)。但是使用\ref
命令会出现问题。参考\subfigure
返回2.1(a),但参考\subgraph
返回1
当我试图找出如何解决这个问题时,我阅读了subfig
手册,其中我找到了带有示例的\newsubfloat
命令。第一个错误是在subfigure
中使用subfig
的命令,我被卡住了。如果我使用subfigure
我可以访问\subfigure
但不能强制\subgraph
工作,当我使用subfig
时,我可以访问\subfloat
图形中的\subfloat
但不在图形中,并且\ref
返回1.0a而不是1(a)
由subfig
包定义:
\newfloat{graph2}{tbph}{lom}[chapter]
\restylefloat*{graph2}
\floatstyle{plain}
\floatname{grap2}{Graph2}
\captionsetup[graph2]{position=top}
\newcommand{\listofGraphs}{\listof{Graph2}{List of Graphs}}
\newsubfloat[position=bottom,listofformat=subsimple]{graph2}
定义我自己的\subgraph
\newfloat{graph1}{H}{lop}[chapter]
\floatname{graph1}{Graph1}
\newcounter{GraphOne}[graph1]
\def\theGraphOne{\alph{GraphOne}}
\newcommand{\subgraph}[2][]{
\captionof{subGraph}{#1} #2
}
\newfloat{subGraph}{H}{lop}[graph1]
\floatname{subGraph}{}
请帮助我理解\label
和\ref
命令的工作原理(我认为我的解决方案崩溃是因为\label
在\caption
之前)和/或强制子IG
包按我的意愿工作
谢谢你的任何想法,请原谅我的英语
克劳利
改进:
通过使用标题
包,我可以创建新计数器(子图
),并在其环境之外使用它。正确引用计数器(子图和图)的唯一方法是在\subgraph
之前使用\captionof{graph}
所以,我的新问题是:如何在子图之前执行\captionof{graph}
,并在子图下面排版?以及如何强制\ref
显示1.1-a而不是1.1.1
Atachements:
子图的代码
:(返回
(
)正确
子图的代码
:(返回
-1
)不正确
\begin{graph2}
\subfloat[sub-caption]{\includegraphics{fig1}\label{fig:2}}
\caption{main caption}
\end{graph2}
\ref{fig:2}
我的代码:(返回
但标题显示相同的“地址”)
我认为您的subfig
解决方案应该有效(subfigure
已被弃用)。错误引用的问题可能与您有关。您必须在\caption
之后使用\label
命令,或者作为其一部分:
\begin{figure}
\caption{A Figure}
\label{fig}
\end{figure}
或
编辑:下面的“适合我”。正如我所说,\label
位于\caption
之后:
\documentclass{report}
\usepackage{float}
\usepackage{subfig}
\newfloat{graph2}{tbph}{lom}[chapter]
\restylefloat*{graph2}
\floatstyle{plain}
\floatname{grap2}{Graph2}
\captionsetup[graph2]{position=top}
\newcommand{\listofGraphs}{\listof{Graph2}{List of Graphs}}
\newsubfloat[position=bottom,listofformat=subsimple]{graph2}
\begin{document}
\chapter{Test}
\section{Test s}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 1}}
\caption{main caption}
\label{fig:1}
\end{graph2}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 2}}
\caption{main caption}
\label{fig:2}
\end{graph2}
Graph~\ref{fig:1} is the first graph, and~\ref{fig:2} is the second.
\end{document}
这将产生:
Graph 1.1 is the first graph, and 1.2 is the second.
我现在无法详细说明,但您希望使用\refstepcounter而不是\addtocounter。是的,我同意\label
命令在\caption
之后的位置。我对标准浮点没有问题,重点是在\subfloat
中并引用它。我习惯于使用\subfigure[sub caption]{\includegraphics}\标签{fig:1}}\caption{main caption}\label{fig}嗯。我不确定我是否理解。如果您有一个小的示例文档显示了您的问题,请将其发布在这里。我已经用我的进度和部分代码更新了问题。我的测试.tex
文件很难阅读,可能我写得不清楚。有没有办法告诉\label
“忘记章节计数器并存储留声机”?
\begin{figure}
\caption{A Figure%
\label{fig}}
\end{figure}
\documentclass{report}
\usepackage{float}
\usepackage{subfig}
\newfloat{graph2}{tbph}{lom}[chapter]
\restylefloat*{graph2}
\floatstyle{plain}
\floatname{grap2}{Graph2}
\captionsetup[graph2]{position=top}
\newcommand{\listofGraphs}{\listof{Graph2}{List of Graphs}}
\newsubfloat[position=bottom,listofformat=subsimple]{graph2}
\begin{document}
\chapter{Test}
\section{Test s}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 1}}
\caption{main caption}
\label{fig:1}
\end{graph2}
\begin{graph2}
\subfloat[sub-caption]{\fbox{Fig 2}}
\caption{main caption}
\label{fig:2}
\end{graph2}
Graph~\ref{fig:1} is the first graph, and~\ref{fig:2} is the second.
\end{document}
Graph 1.1 is the first graph, and 1.2 is the second.