Компиляция исходников LaTex bib

Я пишу свою диссертацию в латексе, и у меня есть ссылки в собственном файле thesis.bib, которые выглядят следующим образом

@Article{xxx,
  author =       "D.A. Reinhard",
  title =        "Case Study",
  year =         "1985",
}

и я ссылаюсь на них в своем основном документе как ~ \ cite {xxx}

Когда я компилирую основной документ с помощью: pdflatex main.tex, он показывает мне вопросительные знаки вместо правильных ссылок на библиографию. Нужно ли мне также самостоятельно компилировать исходный код bib? Если да, подскажите, пожалуйста, команду для Linux

Большое спасибо!


person Klaus    schedule 17.03.2010    source источник


Ответы (4)


Вам необходимо скомпилировать файл bibtex.

Предположим, у вас есть article.tex и article.bib. Вам нужно запустить:

  • latex article.tex (это приведет к созданию документа с вопросительными знаками вместо неизвестных ссылок)
  • bibtex article (это проанализирует все файлы .bib, которые были включены в статью, и сгенерирует метаинформацию о ссылках)
  • latex article.tex (это создаст документ со всеми ссылками в нужных местах)
  • latex article.tex (на всякий случай, если добавление ссылок где-то нарушило нумерацию страниц)
person Tadeusz A. Kadłubowski    schedule 17.03.2010
comment
Также рассмотрите возможность использования latex mk (Phys.psu.edu/~collins/ software / latexmk-jcc), Perl-программу, которая автоматически запускает все необходимое (latex, bibtex, makeindex и т. д.) в правильном порядке для создания обновленного окончательного документа всякий раз, когда вы что-то меняете. - person rcollyer; 18.03.2010
comment
Я полностью поддерживаю эту рекомендацию latexmk. Я не мог без этого жить :) - person Damien Pollet; 14.05.2010
comment
Я отредактировал этот ответ, потому что команда bibtex не допускает расширения. (и расширение было бы для него .aux, а не .tex, даже если бы оно было) - person SO Stinks; 26.04.2011
comment
Рассмотрите возможность использования pdflatex вместо latex для непосредственного создания файла .pdf. - person koppor; 08.10.2012
comment
Этот ответ не отвечает на вопрос, поскольку он конкретно касается использования команды pdflatex. - person ehsteve; 28.01.2014
comment
Замена латекса на pdflatex работает как шарм - person Aart Goossens; 18.06.2014

Вам нужно запустить bibtex:

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi
person Community    schedule 17.03.2010

Я использую texmaker в качестве редактора. вы должны скомпилировать его в терминале следующим образом:

  1. pdflatex filename (с расширениями или без них)
  2. bibtex filename (без расширений)
  3. pdflatex filename (с расширениями или без них)
  4. pdflatex filename (с расширениями или без них)

но иногда, когда вы используете \citep{}, имена ссылок не отображаются. В этом случае мне пришлось открыть файл references.bib, чтобы texmaker мог захватить ссылки из файла links.bib. После каждого выпуска файла bib мне приходилось его закрывать и открывать заново !! Чтобы texmaker мог каждый раз захватывать содержимое нового файла .bbl. Но помните, вы также должны запустить свой код в texmaker.

person user3015729    schedule 06.02.2014
comment
вместо того, чтобы закрывать и открывать ссылки .bib, вы также можете перейти к редактированию - ›обновлению библиографии. Оно работает!! - person user3015729; 06.03.2019

На всякий случай это кому-то поможет, так как эти вопросы (и ответы) мне очень помогли; Я решил создать псевдоним, который запускает эти 4 команды подряд:

Просто добавьте следующую строку в ваш ~/.bashrc файл (измените ключевое слово main в соответствии с именем ваших .tex и .bib файлов)

alias texbib = 'pdflatex main.tex && bibtex main && pdflatex main.tex && pdflatex main.tex'

И теперь, просто выполнив команду texbib (псевдоним), все эти команды будут выполняться последовательно.

person vabada    schedule 12.05.2015