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

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

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

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

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

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

Ответы [ 4 ]

1 голос
/ 07 февраля 2011

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

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

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

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

1 голос
/ 06 февраля 2011

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

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

0 голосов
/ 12 января 2012

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

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

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

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

0 голосов
/ 08 февраля 2011

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

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

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

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

...