Используя 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. В общих чертах, шаги
- Пометьте свой документ, используя какое-то соглашение или другое: я использовал
<span class='citation'>Smith99</span>
- Напишите скрипт XSLT, чтобы преобразовать этот файл в
.aux
файл с\citation
команды в нем - Используйте BibTeX вместе с
.bst
файл, который выплевывает HTML, а не LaTeX - Используйте другой сценарий 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 и справочные страницы.