Использование единого счета для рисунков и таблиц в LaTeX - PullRequest
7 голосов
/ 05 октября 2010

Мне дали документ LaTeX для редактирования со следующим кодом для использования единого счета для рисунков и таблиц.

 \makeatletter
 \newcounter{unisequence}
 \def\ucaption{
    \ifx\@captype\@undefined
        \@latex@error{\noexpand\ucaption outside float}\@ehd
        \expandafter\@gobble
    \else
        \refstepcounter{unisequence} 
        \expandafter\@firstofone
    \fi
    {\@dblarg{\@caption\@captype}}
  }
 \def\thetable{\@arabic\c@unisequence}
 \def\thefigure{\@arabic\c@unisequence}
 \makeatother

Это хорошо работает, чтобы дать единый счетчик для заголовков таблиц и рисунков, но я обнаружил, что если я щелкаю по любому из номеров заголовков в .pdf, который генерирует этот код, я всегда возвращаюсь к первой цифре или таблице документ, а не тот, который я хочу, например щелчок по Таблице [3] приведет меня к Таблице 1.

Кто-нибудь знает, как это исправить? Или кто-нибудь может посоветовать альтернативу?

Я новичок в LaTeX.

Спасибо

Мистер Морган.

Ответы [ 4 ]

3 голосов
/ 05 октября 2010

Если это кому-нибудь пригодится, используйте:

\makeatletter
\renewcommand*{\thetable}{\arabic{table}}
\renewcommand*{\thefigure}{\arabic{figure}}
\let\c@table\c@figure
\makeatother 

В преамбуле вашего документа.

2 голосов
/ 07 апреля 2017

На основе https://stackoverflow.com/a/3866061/53974 и https://tex.stackexchange.com/a/127744/1340, мы можем просто (1) сделать счетчик таблицы таким же, как счетчик рисунков, и (2) сделать тип таблицы плавающим таким же, кактип числа с плавающей запятой, чтобы гарантировать, что порядок соответствует нумерации, потому что:

LaTeX сохраняет все типы с одинаковым типом в порядке

Код:

\makeatletter
\let\c@table\c@figure % for (1)
\let\ftype@table\ftype@figure % for (2)
\makeatother

По сравнению с https://stackoverflow.com/a/3866061/53974, это позволяет хранить \thetable и \thefigure в одиночку, поэтому номера таблиц и рисунков сохраняются в формате как есть.Это касается нумерации для каждой главы / раздела, и она хорошо работает вместе с гиперссылками, пакетами subcaption, float и rotating и, возможно, более, в документе на 160 страниц.

0 голосов
/ 14 октября 2011

Сочетание кода в запросе с предыдущим ответом для меня чудесно сработало - спасибо.

Чтобы рисунки и таблицы были последовательно пронумерованы в главах с номерами глав, я заменил две строки в фрагменте ответа на

\renewcommand*{\thetable}{\arabic{chapter}.\arabic{table}}
\renewcommand*{\thefigure}{\arabic{chapter}.\arabic{figure}}
0 голосов
/ 05 октября 2010

Вне моей головы, это проблема фрагмента, который у вас там не генерирует правильную ссылку.Смотрите здесь, например: http://en.wikibooks.org/wiki/LaTeX/Hyperlinks

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...