texinfo включает заголовок HTML из файла

Я пишу руководство по Texinfo, и для его HTML мне нужно включить содержимое другого файла в <head> ... </head> раздел вывода HTML. Чтобы быть более конкретным, я хочу добавить возможность mathjax в HTML-версию вывода, чтобы красиво отображать уравнения. Но я не могу найти, как я могу добавить его <script>...</script> в шапку!

1 ответ

Решение

Так как я не мог найти ответ и выполнять свою работу сам по себе, казалось, не трудно, я написал крошечную программу на C, чтобы сделать эту работу для меня. Это отлично сработало в моем случае!

Конечно, если в Texinfo есть опция, которая делает эту работу, то это будет правильный ответ, это всего лишь средство, чтобы заставить вещи временно работать на себя.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define ADDTOHEADER "             \n\
<script type=\"text/javascript\"  \n\
  src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML\">\n\
</head>"


void
addtexttohtml(char *filename)
{
  char toadd[]=ADDTOHEADER;
  size_t len=0;
  ssize_t read;
  FILE *in, *out;
  char tmpname[]="tmp457204598345.html", *line=NULL;

  in=fopen(filename, "r");
  out=fopen(tmpname, "w");
  if (in == NULL) exit(EXIT_FAILURE);
  if (out == NULL) exit(EXIT_FAILURE);

  while ((read = getline(&line, &len, in)) != -1)
    {
      if(strcmp(line, "</head>\n")==0) break;
      fprintf(out, "%s", line);
    }

  fprintf(out, "%s", toadd);

  while ((read = getline(&line, &len, in)) != -1)
    fprintf(out, "%s", line);

  if(line)
    free(line);

  fclose(in);
  fclose(out);

  rename(tmpname, filename);
}

int
main(int argc, char *argv[])
{
  int i;

  for(i=1;i<argc;i++)
    addtexttohtml(argv[i]);

  return 0;
}

Эта программа может быть легко скомпилирована с $ gcc addtoheader.c,

Тогда мы можем легко поставить скомпилированную программу (по умолчанию она должна называться a.out) с файлами HTML и запустите:

$ a.out *.html

Вы можете просто изменить макрос для любого текста, который вы хотите.

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