2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Нестандартный шаблон для вывода подписей к рис и таб
Сообщение01.08.2020, 21:07 


13/05/14
476
Здравствуйте, уважаемые форумчане. Прошу помочь мне решить возникшую у меня проблему вывода (по нестандартному шаблону) подписей к рисункам и таблицам. После замены компьютера, ОС (с 64 на Win 32) и старого MIKTEX на его последнюю версию, в полученном pdf-файле неправильно выводятся подписи. Содержимое подписи вместе с номером должно выводиться как один отцентрированный абзац. А получается, что номер (Рис. 99.) выводится отдельной строкой, а сама подпись находится ниже номера (и они оба отцентрированы).
По-видимому, проблема связана с нестандартным шаблоном статьи (файла sty) и «переделкой» caption. В таком шаблоне нет автоматической нумерации всех объектов (разделов, формул, теорем, рисунков и таблиц). Но к этому всему я привык (две статьи опубликовал в этом журнале).
Но с неправильным выводом подписей надо что-то сделать. Прошу помогите.
Вот преамбула тех-файла статьи::
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12pt,twoside]{article}
\usepackage{tikz}
\usepackage[T2A]{fontenc}
%\usepackage[LCY]{fontenc}
%\usepackage[koi8-r]{inputenc}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{floatflt}
\usepackage{CPMJ}
\usepackage{nccfancyhdr}
%
\newenvironment{assumption}
{\refstepcounter{corcounter}\par\addvspace{3mm}\noindent%
{\bf Предположение \thetheocounter.\thecorcounter.\
}\begin{it}}{\end{it}
\par\addvspace{3mm}}
%
%\usepackage{ifthen,latexsym}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx,graphics}
\usepackage{caption,psfrag}
\usepackage[format=plain,labelformat=empty,textformat=simple,
justification=centering]{caption} % это моя вставка, чтобы запретить %вывод стандартного номера
%
\usepackage{xspace}
 \setlength{\textfloatsep}{5mm}
 \setlength{\intextsep}{5mm}
\begin{document}
\font\aaa = cmbxti14
\def\Re{\mathop{\rm Re}\,}
\def\Im{\mathop{\rm Im}\,}
\def\dist{\mathop{\rm dist}}
\def\grad{\mathop{\rm grad}}
\newcommand{\rpIII}{\mathbb{R}P^3}
\newcommand{\Rim}[1]{\uppercase\expandafter{\romannumeral#1}}
%
%
\newcommand{\phan}{\hspace*{0cm}}

……………………………………………………………………
далее по тексту.
В шаблоне статьи (файл CPMJ)
Содержится такой «пассаж»:
Используется синтаксис LaTeX
\newsavebox{\tempbox}
  \newlength{\mycaptionwidth}
  \setlength{\mycaptionwidth}{\linewidth}
  %\setlength{\mycaptionwidth}{13.2cm}
  \def\caption#1#2{
    \par\vspace{10pt}\sbox{\tempbox}{{#1 #2}}
    {\ifthenelse{\lengthtest{\wd\tempbox  = \mycaptionwidth}}
    {\sbox{\tempbox}{#1\ }
    \addtolength{\mycaptionwidth}{-\wd\tempbox}
    \mbox{#1\ }\parbox[t]{\mycaptionwidth}{#2}}
    {\begin{center}#1 #2\end{center}}}
    \bigskip}
  %

Из-за которого и происходит все плохое. Вместо «автоматического» номера приходится вручную вставлять номер посредством этого:
Используется синтаксис LaTeX
\begin{figure}[ht]%\vspace{-9mm}
        % \centering
        \hspace{0mm}
        \includegraphics[scale=0.76]{iz1.png}%\vspace{-4mm}
        \caption{\hspace{0mm}\footnotesize Рис.~1.}{\footnotesize~ Интерфейс пользователя GULP-IDE: а) область ввода и редактирования скрипта, б) область ввода и редактирования входного файла данных, в) область выходного файла.}\vspace{-3mm}
\end{figure}

И этого:
Используется синтаксис LaTeX
\begin{table}
\begin{center}
\caption{\vspace{-5mm}\footnotesize~Таблица 1.}{\footnotesize~Какая-то таблица} %\vspace{-2mm}
\begin{tabular}{|c|c|c|}
\hline
N п/п  & <img src='https://dxdy-01.korotkov.co.uk/f/0/5/f/05f9a7caf25931d51ad2ad54735df5ff82.png'  class="latex" alt="$J(v,w)[\bar \alpha_1] $" title="$J(v,w)[\bar \alpha_1] $" />&<img src='https://dxdy-04.korotkov.co.uk/f/3/b/e/3be901a7f0b753e53a46a70f6a47930a82.png'  class="latex" alt="$J(v,w)[\bar \alpha_2]$" title="$J(v,w)[\bar \alpha_2]$" /> \\
\hline
1 & 0,41481694144427 & 0,409891680848025\\\hline
2 & 0,414805991303278&  0,409701655144124\\\hline
3 & 0,414802358566991&  0,409496583044948\\\hline
4 & 0,41480054650382 &  0,409274627344283\\\hline
5 & 0,414799460983295&  0,409033642178898\\\hline
\end{tabular}
\end{center}
\end{table}

При этом получался неправильный вывод подписей.
Я пробовал заменить этот кусок текста, на кусок, взятый из книги:
Используется синтаксис LaTeX
\renewcommand{\@makecaption}[2]{%
\vspace{\abovecaptionskip}%
\sbox{\@tempboxa}{#1. #2}
\ifdim \wd\@tempboxa >\hsize
{#1. #2}\par
\else
\global\@minipagefalse
\hbox to \hsize {\hfil #1. #2\hfil}%
\fi
\vspace{\belowcaptionskip}}
  %

Этот вариант не прошел. Все работало, но вывод подписей был такой же плохой.
Затем я вставил такой кусок, взятый из нормального шаблона другого журнала:
Используется синтаксис LaTeX
\setlength\abovecaptionskip{2ex}
\def\@caption@left@right@skip{\leftskip=3.5ex\rightskip=3.5ex}
\def\nocaptionskips{\def\@caption@left@right@skip{}}
\renewcommand\@makecaption[2]{%
    \vskip\abovecaptionskip
    \sbox\@tempboxa{\small\textbf{#1.} #2}%
    \ifdim\wd\@tempboxa >\hsize
        {\@caption@left@right@skip\small\textbf{#1.} #2\par}
    \else
        \global\@minipagefalse
        \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
    \fi
}

(Правда там все эти строки, в конечном итоге, были закоментированы)
В конечном итоге, ни один из вышеописанных вариантов не прошел.
Ну никак не хочет правильно соединяться коротенький номер типа Рис.99 с более длинным боксом самой подписи.
Прошу вас, пожалуйста помогите. Может быть в этих вариантах текста чего-нибудь не хватает. Я не знаю. :?

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение01.08.2020, 21:52 
Заслуженный участник
Аватара пользователя


31/01/14
11053
Hogtown
Так закомментируйте все эти переделки

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение01.08.2020, 23:27 


13/05/14
476
Уважаемый Red_Herring
А как Вы думаете почему плохо работает кусок текста из шаблона статьи. На первый взгляд вроде бы все правильно, но форматирует неправильно. Эти последующие два куска текста очень похожи на первый. Теоретически ( на этом настаивает редакция журнала) нельзя исправлять файл шаблона CPMJ.sty. Хотя он работает неправильно. Я ведь потому и привел два других аналогичных куска текста, чтобы с целью заменить исходный кусок текста. Но из этого ничего хорошего не вышло.
Я нашел альтернативный вариант, генерирующий правильно сформатированный файл pdf.
Для этого я подавляю вывод метки с номером с помощью опций пакета caption, например вот так
Используется синтаксис LaTeX
\usepackage[format=plain,labelformat=empty,textformat=simple,
justification=centering]{caption}

Но можно и по-другому.
А в коде вставки рисунка или таблицы я иду на маленькую хитрость --- объединяю метку-номер с самой подписью вот так
Используется синтаксис LaTeX
\begin{figure}[ht]%\vspace{-9mm}
        % \centering
        \hspace{0mm}
        \includegraphics[scale=0.76]{iz1.png}%\vspace{-4mm}
        \caption{\hspace{0mm}\footnotesize Рис.~1.%}{
\footnotesize~ Интерфейс пользователя GULP-IDE: а) область ввода и редактирования скрипта, б) область ввода и редактирования входного файла данных, в) область выходного файла.}\vspace{-3mm}
\end{figure}

При форматировании получается один "правильный" абзац. Да и еще, в файле шаблона закоментирую тот неправильно работающий кусок. А это уже нарушение!
В итоге pdf-файл получается хороший, но он получен не по их шаблону.
А послать я им должен два файла: правильный файл pdf, полученный "нечестным" путем и исходный tex-файл в котором надо удалить все "хитрые" знаки комента. Но дело в том, что при прогонке на их tex-редакторе у них все сдвинется и рисунки, и таблицы и подписи к ним...
А сделать pdf и tex файлы по их кривому шаблону то же плохо --- и подписи будут неправильно сформатированы и кроме того, у них тоже там все сдвинется. Вот я и не знаю что делать. Поэтому и обратился к Вам.

PS Проверил свой MIKTEX на старых файлах, сделанных в 2017-2018 годах по шаблонам других журналов. Там все правильно. Так что дело не в моем MIKTEX'e

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение01.08.2020, 23:48 
Заслуженный участник
Аватара пользователя


31/01/14
11053
Hogtown
sqribner48 в сообщении #1476927 писал(а):
А как Вы думаете почему плохо работает кусок текста из шаблона статьи. На первый взгляд вроде бы все правильно, но форматирует неправильно. Эти последующие два куска текста очень похожи на первый. Теоретически ( на этом настаивает редакция журнала) нельзя исправлять файл шаблона CPMJ.sty.
Пожалуйста, какой либо минимальный пример с использованием журнального шаблона. И где Вы его взяли (на CTAN его нет)?

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение02.08.2020, 00:20 


13/05/14
476
Red_Herring
Red_Herring в сообщении #1476931 писал(а):
Пожалуйста, какой либо минимальный пример с использованием журнального шаблона. И где Вы его взяли (на CTAN его нет)?

У каждого журнала есть свой файл шаблона. Естественно, что на CTAN никаких журнальных шаблонов нет.
Сейчас буду посмотреть. (Но я делал проверки на разного размера кусках(больших и маленьких)

-- 02.08.2020, 01:05 --

Вот минимальный пример с использованием журнального шаблона (всего файла CPMJ.sty)
код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[12pt,twoside]{article}
\usepackage{tikz}
\usepackage[T2A]{fontenc}
%\usepackage[LCY]{fontenc}
%\usepackage[koi8-r]{inputenc}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\usepackage{floatflt}
\usepackage{CPMJ_nc}
\usepackage{nccfancyhdr}
%
\newenvironment{assumption}
{\refstepcounter{corcounter}\par\addvspace{3mm}\noindent%
{\bf Предположение \thetheocounter.\thecorcounter.\
}\begin{it}}{\end{it}

\par\addvspace{3mm}}
%
%\usepackage{ifthen,latexsym}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{graphicx,graphics}
\usepackage{caption,psfrag}
\usepackage[format=plain,labelformat=empty,textformat=simple,
justification=centering]{caption}
\usepackage{xspace}
 \setlength{\textfloatsep}{5mm}
 \setlength{\intextsep}{5mm}
\begin{document}

\newpage
Цель состоит в минимизации функционала стоимости $J$ на допустимых наборах $v$, $w$, $u_1$, $u_2$, т.~е. таких функциях $v,\,w$, которые являются решением начально-краевой задачи при функциях управления $u_1$, $u_2$ из множества допустимых управлений, определенного условием (5).  Решение задачи имеет практическую значимость: в металлургии~--- при изготовлении сплавов, в строительстве~--- при изучении изменения агрегатного состояния содержащейся в ограждениях влаги при колебаниях температуры наружного воздуха, и др. Особенность  задачи состоит в том, что система уравнений не разрешима относительно производной по времени~--- является вырожденной эволюционной системой.
\begin{table}[ht] \vspace{-3mm}
 \centering
 \caption{\vspace{-5mm}\footnotesize~Таблица 1. }{\footnotesize~Это очень длинная ну протсо очень  предлинна ятаблица \\ и еще раз таблица  Дискриминирующая способность  инварианта  $W'(G)$  } %\vspace{-2mm}
  \begin{tabular}{ | c | c | c | c | c | c | c|c|}
         \hline
        n &$N_O$ & $n_n$ &$P(W'(G))$ &$n$ &$N_O$ &$n_n$&$P(W'(G))$\\
         \hline
        8 & 6 &  5&1. &15 &528 &243 &1.\\
         \hline
         9 &10 &8&1. &16 &1056 & 443&1. \\
         \hline
        10 & 20 &15&1. &17 &2080 &782&0.9987 \\
         \hline
        11 &36 & 24&1. &18 &4160 &1420& 1.\\
         \hline
         12 &72 & 45&1. &19&8256&2528&0.9996\\
         \hline
         13 & 136 &76&1. &20 &16512 & 4577&1.\\
          \hline
         14 &272 &139&1. & - & -  & - & - \\
         \hline
 \end{tabular}
 \end{table}
 
Исследование опирается на результаты о разрешимости начально-краевых задач для вырожденных эволюционных уравнений, полученные в работах В.Е.~Федорова \cite{fed}, результаты  М.В.~Плехановой, В.Е.~Федорова и А.Ф.~Исламовой \cite{ple1,ple2,ple3,isl,mon}
о разрешимости задач оптимального управления для вырожденных эволюционных уравнений. В данной работе используется метод численного решения начально-краевых задач для линеаризованной квазистационарной системы уравнений фазового поля, предложенный в \cite{OmelPleDav},  и результаты монографии Ф.П.~Васильева \cite{Vasilyev}~--- при разработке метода условного градиента для рассматриваемой задачи управления. Итогом работы стала программная реализация метода численного поиска решения.

\end{document}
 


В этом минимальном куске опять вылезает на 1-ую строку слово Таблица 1, а сам заголовок таблицы находится ниже. Весь заголовок таблицы получается шире, чем сама таблица.

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение02.08.2020, 03:47 
Заслуженный участник
Аватара пользователя


31/01/14
11053
Hogtown
sqribner48 в сообщении #1476933 писал(а):
Естественно, что на CTAN никаких журнальных шаблонов нет.
С некоторой вероятностью: после того, как многие стилевые файлы были апгрейдированы, стилевой файл этого журнала стал косячить, и либо они его апгрейдировали (тогда Вы скачаете новый), либо нет. Если бы они помещали на CTAN (многие издательства и журналы свои классы/стилевые файлы помещают туда. Аналогично: многие университеты для своих диссертаций), то он бы вошел в MikTeX, и у Вас бы апгрейдировался автоматически.

Т.ч. такой подход: кому надо--скачает у нас, скорее противоестественен.

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение03.08.2020, 19:00 


13/05/14
476
Уважаемый Red_Herring
Извините за задержку в ответе. Сначала я был занят, а потом снова (на время)
подключил свой старый компьютер и очень долго рылся в его каталогах и в куче флэшек.
Но зато, ура, я нашел уже распакованный и собранный miktex-portable-2.9.6361.(именно портативную версию для флэшки).
Теперь опять работает как часы. Но, как я понимаю, там были установлены старые файлы пакетов.
Поэтому при первом же обновлении он перестанет хорошо работать.
Когда я, по старой памяти, вставил в текст документа переопределение caption посредством одной строки
Используется синтаксис LaTeX
\usepackage[format=plain,labelformat=empty,textformat=simple,
justification=centering]{caption}

то компилятор заругался и выдал сообщение типа: "команда caption уже была переопределена, чего вы снова пробуете ее изменить с помощью какого-то неизвестного пакета". :lol: (простите за мой плохой перевод, но смысл был именно таким).
Ясно, что старые файлы miktex пришли в несоответствие с новой командой из нового пакета caption. Поэтому после того, как я убрал эту ненужную строку все опять правильно заработало.
Red_Herring в сообщении #1476946 писал(а):
С некоторой вероятностью: после того, как многие стилевые файлы были апгрейдированы, стилевой файл этого журнала стал косячить, и либо они его апгрейдировали (тогда Вы скачаете новый), либо нет.
Я проверил, они его не апгрейдировали. На сайте журнала лежит файл CPMJ.sty за 2016 год.
А может быть файл CPMJ.sty и еще древнее :-)

(Оффтоп)

P.S. А вообще я считаю, что подобного рода файлы sty с отказом от автоматического ввода номеров элементов текста (т.е. разделов, теорем, формул, таблиц, рисунков и пр.) ненужным садомазохизмом.

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение03.08.2020, 19:28 
Заслуженный участник
Аватара пользователя


31/01/14
11053
Hogtown
sqribner48 в сообщении #1477148 писал(а):
вообще я считаю, что подобного рода файлы sty с отказом от автоматического ввода номеров элементов текста (т.е. разделов, теорем, формул, таблиц, рисунков и пр.) ненужным садомазохизмом.
Ну там сплошное садо-мазо. :mrgreen: А что за журнал?

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение03.08.2020, 21:16 


13/07/14
257
http://cpmj.csu.ru/index.php/cpmj/about ... Guidelines

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение03.08.2020, 21:46 
Заслуженный участник
Аватара пользователя


31/01/14
11053
Hogtown
Lenchik в сообщении #1477182 писал(а):
http://cpmj.csu.ru/index.php/cpmj/about/submissions#authorGuidelines

Челябинский Физико-Математический Журнал , никогда б не догадался. И как это суровые челябинские мужики терпят такое извращение (не журнал, а стилевой файл). Там каждая строка и садо, и мазо.

 Профиль  
                  
 
 Re: Нестандартный шаблон для вывода подписей к рис и таб
Сообщение04.08.2020, 11:49 


13/05/14
476
Red_Herring
Спасибо за внимание, которое Вы уделили этой теме.
Red_Herring в сообщении #1477193 писал(а):
И как это суровые челябинские мужики терпят такое извращение (не журнал, а стилевой файл)
Смотрел я их статьи... По-видимому, "суровые челябинские мужики" заняты математикой, физикой и другими мудреными штуковинами. А до стилевых файлов у них просто руки не доходят. И мой личный пример --- наглядное тому подтверждение. Ведь если бы я не поменял компьютер и miktex, то и нужды залезать в дебри sty файла у меня бы не было.

(Оффтоп)

P.S. А журнал мне в целом нравится, прежде всего доброжелательным отношением к авторам (на всех уровнях -- начиная от зам. главного редактора до рецензентов и редакторов). Рецензируют относительно быстро --- в течение трех месяцев (плюс, минус). Рецензенты всегда точны, аккуратны и вежливы (и в отличие от некоторых рецензентов некоторых других журналов никогда не переходят на личности). :-)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group