Компиляция исходного кода LaTex - PullRequest
60 голосов
/ 17 марта 2010

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

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

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

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

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

Ответы [ 4 ]

78 голосов
/ 17 марта 2010

Вам нужно скомпилировать файл bibtex.

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

  • latex article.tex (будет создан документ с вопросительными знаками вместо неизвестных ссылок)
  • bibtex article (это проанализирует все файлы .bib, которые были включены в статью, и сгенерирует метаинформацию относительно ссылок)
  • latex article.tex (будет создан документ со всеми ссылками в правильных местах)
  • latex article.tex (на всякий случай, если добавление ссылок где-то нарушило нумерацию страниц)
19 голосов
/ 17 марта 2010

Вы должны запустить 'bibtex':

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi
13 голосов
/ 07 февраля 2014

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

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

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

6 голосов
/ 12 мая 2015

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

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

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

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

...