Используя html/css, я хотел бы автоматически сгенерировать библиографию внизу моего веб-сайта, схожую с латексной командой \bibliography

Сначала я задам свой вопрос, а затем приведу некоторые сведения для тех, кому это интересно:

Я хотел бы знать, есть ли в html команда, которая будет автоматически генерировать библиографию из файла.bib? Это означает, что по всему тексту я бы добавил что-то вроде <cite name="Jones2010">, а затем в нижней части файла HTML (или CSS), я бы написал что-то вроде <makebib file="biblist.bib", format="APA">и библиография будет создана с использованием моего файла.bib и отформатирована в соответствии со стилем APA. Функциональность будет очень похожа на сноски, за исключением того, что каждая сноска заполняется в соответствии с некоторым сценарием, который извлекает информацию из (по существу) файла XML и выводит содержимое в желаемом формате. Нетрудно представить, что кто-то создает инструмент для этого, однако мои навыки поиска в Google не позволили мне найти такой инструмент. Легко найти инструменты, которые конвертируют bib-файлы в html или xml, но этого недостаточно для моих нужд. Я не желаю публиковать весь мой файл нагрудника онлайн. Скорее, для каждого документа, который я генерирую, я хочу, чтобы несколько записей в файле bib были включены в качестве сносок. Любые указатели будут с благодарностью.

Теперь причина вопроса:

Недавно я начал переходить от написания всех своих рукописей с использованием латекса к написанию их с использованием html / css. Преимущества такого подхода - быстрые: только 1 файл для управления версиями (вместо.dvi,.ps,.aux,.blg и т. Д.), Он гораздо меньше для совместного использования, другие люди могут редактировать html-файл и много его компилировать. проще, его легче настраивать на мой вкус, легче читать на экране и т. д. Однако недостаток для меня заключается в том, что, хотя я годами писал в латексе, я только начал использовать html и css для создание научных документов. Основным стимулом для этого переключателя стал MathJaX, который позволяет мне встраивать уравнения латекса в мои html-файлы и, следовательно, позволяет мне комбинировать преимущества латекса с преимуществами css. Я предполагаю, что почти все мои коллеги переключатся с латекса на этот более простой формат, предполагая, что некоторые оставшиеся проблемы будут решены, например, простота создания библиографий.

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

4 ответа

То, что вы спрашиваете, невозможно, если только при указании html / css вы действительно подразумеваете html / css / php или html / css / python или какую-либо другую комбинацию, которая включает в себя фактический язык программирования, а не просто язык разметки.

Я понимаю вашу мотивацию, я хотел бы перейти на HTML вместо латекса! Тем не менее, я подозреваю, что решение на основе html потребовало бы так много дополнительной обработки, добавленной сверху для сортировки библиографий и т. Д., Что к тому моменту, когда вы все это решите, сложность начнет приближаться к LaTeX.

Я был бы рад оказаться неправым в этом!

Я делал это раньше, используя XSLT и BibTeX. В общих чертах, шаги

  1. Пометьте свой документ, используя какое-то соглашение или другое: я использовал <span class='citation'>Smith99</span>
  2. Напишите скрипт XSLT, чтобы преобразовать этот файл в .aux файл с \citation команды в нем
  3. Используйте BibTeX вместе с .bst файл, который выплевывает HTML, а не LaTeX
  4. Используйте другой сценарий XSLT (или тот же, в другом режиме), чтобы получить список литературы в

Это не так сложно, как кажется, но вы можете посмотреть, как я это сделал в коде Google. В частности, см. structure.xslt а также plainhtml.bst,

Если есть более прямой путь, мне было бы интересно услышать об этом.

Оба ответа пока что верны, хотя и не совсем то, о чем вы просили. Отчасти проблема в том, что вопрос в том виде, как он сформулирован, не обязательно имеет смысл.

HTML это просто разметка; вам нужно что-то для обработки разметки, будь то python, php, ruby ​​и т. д.

И вы, вероятно, хотите писать в XML (или XHTML), а не в HTML.

XSLT может работать для вас (как только он в XML), но помните, документ XSLT, который определяет набор правил. Вы получите механизм XSLT для применения ваших правил XSLT к вашему XML-документу.

Вы можете создать html библиография от .bib файл с использованием bibtex2html. Этот пакет принимает ряд аргументов командной строки, извлекает информацию из источника BibTeX и выводит файл с html разметки.

Насколько я знаю, вы не можете заставить его читать и анализировать html документ, как LaTeX \cite команда, но есть несколько способов указать ссылки, которые вы хотите. Я считаю, что самый простой способ - это просто сохранить текстовый файл ключей BibTeX, который я использую в своей рукописи, а затем вызвать его, используя --citefile вариант. Существует также инструмент под названием bib2bib Включено, что будет принимать команды поиска.

Это очень гибкий пакет, и в нем много опций, поэтому он работает во многих ситуациях. Например, вы можете получить его, чтобы опустить <html> Заголовки из выходного файла, так что вы можете напрямую вставить в существующий html документ.

Документация полезна, но обязательно посмотрите файл документации в формате pdf и справочные страницы.

Другие вопросы по тегам