Domanda

Ho un documento LaTeX dove vorrei la numerazione dei carri (tabelle e figure) di essere in una sequenza numerica da 1 a x piuttosto che due sequenze in base alla loro tipologia. Non sto usando liste di figure o tabelle sia e non ho bisogno di.

Il mio documentclass è relazione e in genere i miei carri hanno didascalie in questo modo:

\caption{Breakdown of visualisations created.}
\label{tab:Visualisation_By_Types}
È stato utile?

Soluzione

Le differenze tra gli ambienti figure e table sono molto minore - poco più di loro utilizzando diversi contatori, e il mantenimento di sequenze separate

.

Cioè, non c'è nulla ti impedisce di mettere i vostri ambienti {tabular} in un {figure}, o la grafica in un {table}, il che significherebbe che avevano finiscono nella stessa sequenza. Il problema con questo caso (come note Joseph Wright) è che avresti dovuto regolare il \caption, in modo che non funziona perfettamente.

Prova quanto segue, nel preambolo:

\makeatletter
\newcounter{unisequence}
\def\ucaption{%
   \ifx\@captype\@undefined
     \@latex@error{\noexpand\ucaption outside float}\@ehd
     \expandafter\@gobble
   \else
     \refstepcounter{unisequence}% <-- the only change from default \caption
     \expandafter\@firstofone
   \fi
   {\@dblarg{\@caption\@captype}}%
}
\def\thetable{\@arabic\c@unisequence}
\def\thefigure{\@arabic\c@unisequence}
\makeatother

uso \ucaption Poi nelle tabelle e figure, invece di \caption (cambiare il nome ad lib). Se si desidera utilizzare questa stessa sequenza in altri ambienti (ad esempio, elenchi?), Quindi definire \the<foo> allo stesso modo.

Il mio precedente tentativo di questo è in realtà del tutto spezzato, come l'OP individuato: il sempre-the-LOF-male è, invece di essere banali e soltanto poco pratici di correzione, assolutamente fondamentale (ho, hum)

(Per gli aficionados, che avviene perché i comandi \advance vengono elaborati in budello di TeX, ma il contenuto del .lof, .lot, e .aux file è fissato in bocca di TeX, in espansione tempo, così quello che è stato scritto per i file era qualsiasi valore casuale \@tempcnta aveva al punto \caption è stato chiamato, ignorando i calcoli \advance, che sono stati poi doverosamente scritti nel file, e quindi ignorato Doh:. per quanto tempo hanno lo so, ma questo non è mai interiorizzato esso!?)

ritenzione doveroso della precedente tentativo (per il fatto che può essere istruttivo sbagliato):

Nessun problema: Prova a mettere le seguenti nel preambolo:

\makeatletter
\def\tableandfigurenum{\@tempcnta=0
    \advance\@tempcnta\c@figure
    \advance\@tempcnta\c@table
    \@arabic\@tempcnta}
\let\thetable\tableandfigurenum
\let\thefigure\tableandfigurenum
\makeatother

... e quindi utilizzare il {table} e ambienti {figure} come normale. Le didascalie avranno la corretta testo 'Tabella / figura', ma faranno condividere una singola sequenza di numerazione.

Si noti che questo esempio ottiene i numeri sbagliati nelle listoffigures / listoftables, ma (a) si dice che non si cura di questo, (b) è risolvibile, anche se probabilmente leggermente poco pratici, e (c) la vita è dura!

Altri suggerimenti

Un modo rapido per farlo è quello di mettere \addtocounter{table}{1} dopo ogni figura, e \addtocounter{figure}{1} dopo ogni tavolo.

Non è bella, e su un documento più lungo che vorreste probabilmente a uno includere che nel vostro foglio di stile o un modello, o andare con la soluzione di cristobalito di collegare i contatori.

Non riesco a ricordare la sintassi, ma stai essenzialmente alla ricerca di contatori. Dai un'occhiata qui , sotto il costume galleggia sezione . Assegnare i contatori per entrambe le tabelle e cifre per la stessa cosa e dovrebbe funzionare.

mi basta usare un tipo di galleggiante (diciamo 'figura'), quindi utilizzare il pacchetto didascalia per rimuovere il testo aggiunto automaticamente "Figure" dalla voce e trattare con esso a mano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top