2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Почему только 2 компиляции приводят к нужному результату.
Сообщение09.12.2015, 15:18 


14/06/15
144
Добрый день коллеги.

У меня такой вопрос:

Внес изменения в файл, добавив строчку в преамбулу:
Используется синтаксис LaTeX
\usepackage[compress]{cite}
но чтобы все работало как надо т.е. в pdf после компиляции появлялись строчки типа [1–5], а не [?,?,?,?,?], надо делать 2 компиляции, так как после 1 компиляции в pdf после компиляции появлялись строчки типа [?,?,?,?,?]. После 1 компиляции в рабочей папке появятся новые файлы, затем надо сделать 2 компиляцию и все будет как надо. Может надо чтобы список литературы шел отдельным файлом. В рабочей папке у меня на данный момент 3 файла:

1. Главный файл с преамбулой и текстом статьи, а также в нем есть список литературы

2. Второй файл def

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
%                       Definitions

%---------------------------------------------------------------------

\def\be#1{\begin{equation}\label{#1}}
\def\ee{\end{equation}}
\def\eq#1{(\ref{#1})}
\def\eqs#1#2{\eq{#1}--\eq{#2}}

%---------------------------------------------------------------------

\newcommand {\Oe}       [1]     {$$}
\def\oe{$$}
\newcommand {\ba}       [2]     {\be{#1} \begin{array}{#2}}
\newcommand {\ea}               {\end{array} \ee}
\newcommand {\Oa}       [2]     {$$ \begin{array}{#2}}
\def\oa{\end{array} $$}

\newcommand {\qq}   {,\qquad}
\newcommand {\qqp}  {;\qquad\quad}

\newcommand {\const}    {\mbox{\rm const}}

\renewcommand {\=}{\stackrel{\mbox{\scriptsize def}}{=}}
\newcommand {\hence}{\quad\Rightarrow\quad}
\newcommand {\eqv}  {\quad\Longleftrightarrow\quad}

\def\sign{\mathop{\rm sign}}

\let\eps=\varepsilon
\let\w=\omega
\let\al=\alpha

\let\TS=\textstyle
\let\DS=\displaystyle

\def\({\left(}
\def\){\right)}

\def\[{\left[}
\def\]{\right]}

%-----------------------------------------------------------------------

\def\tg{{\rm tg\,}}
\def\Arcsin{{\rm Arcsin\,}}
\def\Arccos{{\rm Arccos\,}}
\def\Arctg{{\rm Arctg\,}}

\def\ap{\,\approx\,}

%-----------------------------------------------------------------------

%\def\fig#1{Fig.\,\ref{fig-#1}}
%\def\figs#1#2{Fig.\,\ref{fig-#1}--\ref{fig-#2}}
\def\fig#1{Рис.\,\ref{fig-#1}}
\def\figs#1#2{Рис.\,\ref{fig-#1}--\ref{fig-#2}}

\def\figlabel#1{\label{fig-#1}}

\def\tablabel#1{\label{tab-#1}}
\def\tabref#1{\ref{tab-#1}}

%-----------------------------------------------------------------------

\let\PI = \varPi
\let\Fi = \f
\let\La = \varLambda
\let\G = \varGamma

\let\la = \lambda
\let\de = \delta

\let\pa=\partial

%---------------------------------------------------------------------

\def\vp{\vphantom{\bigl(}}
\def\vpp{\vphantom{\Bigl(}}
\def\vppp{\vphantom{\biggl(}}
\def\vpppp{\vphantom{\Biggl(}}
 


3 файл defRnD

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
%                       Additional Definitions for Rnd documents

%-----------------------------------------------------------------------

\def\aav#1{\langle{#1}\rangle}
\def\av#1{\left\langle{#1}\right\rangle}
\def\ax#1{\left\{{#1}\right\}}
\def\AV#1{\left[{#1}\right]}
\def\dv#1{D\!\left({#1}\right)}

%---------------------------------------------------------------------

\let\o=\overline
\let\t=\tilde
\let\h=\hat
\let\c=\check

%---------------------------------------------------------------------

\def\s{^{(s)}}
\let\rro = \varrho

%---------------------------------------------------------------------

\def\D{\Delta}
\def\S{{\cal S}}
\let\f = \varphi
%\let\b = \breve

%\def\b#1{\stackrel{\mbox{\scriptsize\smile}}{#1}}
%\def\cc#1{\c{\c #1}}
\def\b#1{\stackrel{\smile}{#1}{\!}}
\def\cc#1{\breve #1}

%---------------------------------------------------------------------

\def\Dp{\D\!^+} \def\Dm{\D\!^-}
%\def\Dp{\D_+} \def\Dm{\D_-}
\def\DD{\D\!^2}
\def\M{{\cal Z}}

%---------------------------------------------------------------------

\def\L{{\cal L}}


Преамбула в главном файле выглядит так:

код: [ скачать ] [ спрятать ]
Используется синтаксис LaTeX
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%\usepackage{pscyr}
\usepackage[russian]{babel}
\usepackage[compress] {cite}  % <-- !!!!!!!!!!!!!!!

\input def
\input defRnd

\textwidth      = 160mm
\textheight     = 248mm
\oddsidemargin  = 25mm
\topmargin      = 25mm

%\pagestyle{empty}

\hoffset = -25mm \voffset = -38mm   % shift the origin to the bottom left corner

\def\dx{\partial_x}
\def\dt{\partial_t}
\def\W{\varOmega}
\def\LL{{\mathfrak L}}
%\def\LL{\varLambda}
\def\kB{k_{\!B}}
\def\R{{\cal R}}
\def\paptit#1{#1}
\def\pt{}


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

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение09.12.2015, 19:19 


13/07/14
257
Компилируйте latexmk.
Или создавайте командный файл где все те же компиляции будут.
У вас там условно идут компиляции такие
*latex document
bibtex document
*latex document
*latex document

В некоторых случаях даже 3 компиляции после bibtex не предел

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение09.12.2015, 21:37 
Заслуженный участник
Аватара пользователя


31/01/14
11348
Hogtown
В принципе 2х компиляций м.б. недостаточно.
В http://dxdy.ru/post865150.html#p865150 объясняется для чего нужны aux файлы (и подобные им) и почему надо компилировать 2-3 раза.

Можно использовать latexmk (впрочем, есть артефакты, когда компиляции вообще "не сходятся").

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 01:24 


14/06/15
144
Спасибо за ответы

-- 10.12.2015, 01:33 --

У меня стоит miktex+winedt на windows 8.1.

Спасибо за ответы, latexmk я поставил, что делать дальше, какие команды мне прописывать и где, чтобы все заработало?

-- 10.12.2015, 01:50 --

Lenchik в сообщении #1080953 писал(а):
Компилируйте latexmk.
Или создавайте командный файл где все те же компиляции будут.
У вас там условно идут компиляции такие
*latex document
bibtex document
*latex document
*latex document

В некоторых случаях даже 3 компиляции после bibtex не предел

Какие команды мне прописывать?

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 01:50 
Заслуженный участник
Аватара пользователя


31/01/14
11348
Hogtown
sashatgu в сообщении #1081038 писал(а):
Спасибо за ответы, latexmk я поставил, что делать дальше, какие команды мне прописывать?


для чего? компилируете как latex или как pdflatex?

И вообще, latexmk д.б. в Вашем дистрибутиве

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 01:52 


14/06/15
144
Red_Herring в сообщении #1080977 писал(а):
В принципе 2х компиляций м.б. недостаточно.
В http://dxdy.ru/post865150.html#p865150 объясняется для чего нужны aux файлы (и подобные им) и почему надо компилировать 2-3 раза.

Можно использовать latexmk (впрочем, есть артефакты, когда компиляции вообще "не сходятся").


Какие команды мне прописывать?

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 03:01 
Заслуженный участник
Аватара пользователя


31/01/14
11348
Hogtown
sashatgu в сообщении #1081045 писал(а):
Какие команды мне прописывать?


Red_Herring в сообщении #1081044 писал(а):
для чего? компилируете как latex или как pdflatex?

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 07:46 


13/07/14
257

(build3.cmd)

Код:
SET document_name=dissertation
latexmk -pdf -jobname=%document_name%_pdflatex -ps- -dvi- -recorder -silent %document_name%.tex
latexmk -pdf -jobname=%document_name%_pdflatex -ps- -dvi- -recorder -silent -c %document_name%.tex
latexmk -pdf -jobname=%document_name%_xelatex -ps- -dvi- -recorder -silent -r xelatex_pdfx %document_name%.tex
latexmk -xelatex -jobname=%document_name%_xelatex -ps- -dvi- -recorder -silent -c %document_name%.tex
latexmk -lualatex -jobname=%document_name%_lualatex -ps- -dvi- -recorder -silent %document_name%.tex
latexmk -lualatex -jobname=%document_name%_lualatex -ps- -dvi- -recorder -silent -c %document_name%.tex
del %document_name%_pdflatex.run.xml
del %document_name%_pdflatex.bbl
del %document_name%_xelatex.run.xml
del %document_name%_xelatex.bbl
del %document_name%_lualatex.run.xml
del %document_name%_lualatex.bbl


(xelatex_pdfx)

Код:
$pdflatex = 'xelatex -output-driver="xdvipdfmx -V 3 -z 0" %O %S';
$pdf_mode = 1;
$postscript_mode = $dvi_mode = 0;


Ставьте себе TexLive + TeXStudio. В TeXStudio всё уже прописано и с TeXLive всё идёт в комплекте без доустановок.

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 11:50 


14/06/15
144
Red_Herring в сообщении #1081044 писал(а):
sashatgu в сообщении #1081038 писал(а):
Спасибо за ответы, latexmk я поставил, что делать дальше, какие команды мне прописывать?


для чего? компилируете как latex или как pdflatex?

И вообще, latexmk д.б. в Вашем дистрибутиве


Я поставил latexmk через miktex package manager.

Какие команды мне прописать, чтобы все компилировалось правильно с первого раза?

-- 10.12.2015, 11:53 --

Lenchik в сообщении #1081065 писал(а):

(build3.cmd)

Код:
SET document_name=dissertation
latexmk -pdf -jobname=%document_name%_pdflatex -ps- -dvi- -recorder -silent %document_name%.tex
latexmk -pdf -jobname=%document_name%_pdflatex -ps- -dvi- -recorder -silent -c %document_name%.tex
latexmk -pdf -jobname=%document_name%_xelatex -ps- -dvi- -recorder -silent -r xelatex_pdfx %document_name%.tex
latexmk -xelatex -jobname=%document_name%_xelatex -ps- -dvi- -recorder -silent -c %document_name%.tex
latexmk -lualatex -jobname=%document_name%_lualatex -ps- -dvi- -recorder -silent %document_name%.tex
latexmk -lualatex -jobname=%document_name%_lualatex -ps- -dvi- -recorder -silent -c %document_name%.tex
del %document_name%_pdflatex.run.xml
del %document_name%_pdflatex.bbl
del %document_name%_xelatex.run.xml
del %document_name%_xelatex.bbl
del %document_name%_lualatex.run.xml
del %document_name%_lualatex.bbl




(xelatex_pdfx)

Код:
$pdflatex = 'xelatex -output-driver="xdvipdfmx -V 3 -z 0" %O %S';
$pdf_mode = 1;
$postscript_mode = $dvi_mode = 0;


Ставьте себе TexLive + TeXStudio. В TeXStudio всё уже прописано и с TeXLive всё идёт в комплекте без доустановок.




Я поставил latexmk через miktex package manager.

Какие команды и куда мне прописать, чтобы все компилировалось правильно с первого раза?

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 15:00 
Заслуженный участник
Аватара пользователя


31/01/14
11348
Hogtown
sashatgu в сообщении #1081092 писал(а):
Какие команды и куда мне прописать, чтобы все компилировалось правильно с первого раза?



Оно НИКОГДА с первого раза компилироваться не будет. latexmk просто компилирует сколько раз сколько нужно. И пока Вы хотя бы минимально не поняли, как работает latex, лучше компилировать несколько раз вручную, чем пользоваться автоматом. Я Вaм задал несколько вопросов, которые Вы предпочли проигнорировать. В общем, бог Вам в помощь

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение10.12.2015, 23:30 


13/07/14
257
http://tex.stackexchange.com/a/63875/79756
http://tex.stackexchange.com/questions/ ... -citations

 Профиль  
                  
 
 Re: Почему только 2 компиляции приводят к нужному результату.
Сообщение11.12.2015, 13:03 


14/06/15
144
Lenchik в сообщении #1081259 писал(а):
http://tex.stackexchange.com/a/63875/79756
http://tex.stackexchange.com/questions/ ... -citations


Большое спасибо за ответы :o

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

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



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

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


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

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