سؤال

أنا أستخدم الحزم subfigure و float لإنشاء أرقام وطاولات أريد إنشاءها وأحاول إنشاء بيئتي الخاصة graph مع عداده الخاص والتعليق (حل هناك, شكرا ل DMCKEE). الآن أود إنشاء \subgraph الأمر الذي سيفعل بالضبط نفس \subfigure أمر.

حاولت إنشاء الأمر الخاص بي مع عداد PROPREATE (بمساعدة هنا, شكرا لك Alexey). ولكن المشكلة تظهر باستخدام \ref أمر. إشارة إلى \subfigure عائدات 2.1 (أ) ولكن الرجوع إلى \subgraph عائدات 1.

كما حاولت معرفة كيفية حل هذا قرأته subfig دليل، حيث وجدت \newsubfloat الأمر مع مثال. الخطأ الأول كان قيد الاستخدام subfigأوامر في subfigure وانت عشقت هناك. إذا كنت تستخدم subfigure يمكنني الوصول. \subfigure ولكن لا أستطيع القوة \subgraph العمل، عندما أستخدم subfig يمكنني الوصول \subfloat في graph ولكن ليس في figure و \ref عائدات 1.0 أ بدلا من 1.1 (أ).

تعريف من قبل 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) و / أو مع إجبار subfig حزمة للعمل كما أريد.

شكرا لك على أي فكرة وكن رحيما لغتي الإنجليزية.

كراولي

تحسين:

باستخدام caption حزمة يمكنني إنشاء عداد جديد (subGraph) واستخدامها خارج بيئتها. الطريقة الوحيدة لكيفية الحصول على كلا من العداد (Subgraph والرسم البياني) المشار إليها \captionof{graph} قبل \subgraph.

لذلك، سؤالي الجديد هو: كيفية التنفيذ \captionof{graph} قبل subgraphs والتنضيد في أسفلها؟ وكيفية القوة \ref لإظهار 1.1-أ بدلا من 1.1.1

الأناشل:

رمز ل subfigure: (عائدات <chapter>.<figure> (<subfigure>) صيح.

\begin{figure}
\subfigure[sub-caption]{\includegraphics{fig1}\label{fig:1}}
\caption{main caption}
\end{figure}
\ref{fig:1}

رمز ل subfig: (عائدات <chapter>.<graph2>-1<subfigure>) غير صحيح.

\begin{graph2}
\subfloat[sub-caption]{\includegraphics{fig1}\label{fig:2}}
\caption{main caption}
\end{graph2}
\ref{fig:2}

الرمز الخاص بي: (إرجاع <chapter>.<graph1>.<subgraph> لكن التسمية التوضيحية يظهر نفس "العنوان")

\begin{graph1}
\captionof{graph1}{main caption}
\subgraph[sub-caption]{\includegraphics{fig1}\label{fig:3}}
\end{graph1}
\ref{fig:3}
هل كانت مفيدة؟

المحلول

أعتقد لك subfig يجب أن يعمل الحل (subfigure تم إهمالها على أي حال). قد تضطر المشكلة مع المراجع الخاطئة معك استخدام \label بشكل غير صحيح. وبعد يجب أن يكون لديك \label أمر بعد ال \caption, ، أو كجزء منه:

\begin{figure}
\caption{A Figure}
\label{fig}
\end{figure}

أو

\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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top