2012-08-13 21 views
5

Aunque el problema final que esto resolvería es un TeX uno (instalar una nueva fuente para salida de PDF), esta solución particular que estoy buscando es un problema de Sphinx. Sphinx usa LaTeX estándar para crear archivos PDF, lo cual está bien hasta ahora, pero necesito instalar una fuente nueva y he intentado y fallado. Entiendo que este es un proceso mucho más fácil usando XeLateX, por lo que me gustaría saber si hay una extensión o alguna forma de configurar Sphinx para que haga uso del generador XeLaTeX.¿Se puede usar el generador XeLaTeX con Sphinx?

+0

Creo que es mejor que se lo pregunten aquí: http://tex.stackexchange.com/ – osyan

+3

Pensé en publicar allí primero, pero como se indicó anteriormente, el problema no tiene nada que ver con el látex, sino que con la configuración de Sphinx. – user1488804

Respuesta

2

Creo que esto se reduce a obtener algunas instrucciones LaTeX antes de que sphinx comience su trabajo.

Al comienzo de su index.rst, se puede añadir una entrada "en bruto" que se pasa al látex textualmente:

.. raw:: latex 

    \setyournicefontorwhatever(beautiful.ttf) 

¿Eso ayuda a conseguir la fuente correcta en? Estoy usando entradas de látex sin procesar para eliminar los números de sección de parte de mi documentación (\setcounter{secnumdepth}{-1} en una entrada "en bruto" similar).

Además, el Sphinx documentation on build options tiene algunas cosas que puedes probar. El aspecto más prometedor es el elemento documentclass en la configuración latex_documents.

0

Es posible permitir a esfinge utilizar el constructor xelatex modificando el archivo make para usar xelatex, o simplemente compilar el documento en dos comandos .... make latex, luego xelatex yourdoc.tex. Sin embargo, es importante deshabilitar una cantidad de paquetes que incluyen: fontenc, inputenc y babel, ya que estos no funcionan o pueden causar problemas en el futuro. Creo que puede haber paquetes alternativos en Leiu of Babel si lo desea. Además, xelatex ya permite algunos (pero no todos) los caracteres que inputenc [utf8] normalmente tendría en cuenta.

Desactivación de éstos se puede hacer en usted archivo conf.py, este documento muestra un buen ejemplo de cómo hacer esto en "Opciones de Látex":

https://github.com/jterrace/sphinxtr/blob/master/conf.py

0

añado lo siguiente para conf. py cuando se utiliza XeLaTeX:

latex_elements = { 

# Additional stuff for the LaTeX preamble. 
    'preamble': ''' \usepackage{fontspec} \setmainfont{Times New Roman} 
    ''', 
    'inputenc': '', 
    'fncychap': '', 
    'utf8extra': '', 
    'times': '', 
    'babel': '\usepackage{polyglossia}', 
    'cmap': '', 
    'fontenc': '', 
    'releasename': '', } 

tienes que desactivar muchos de los paquetes de látex defecto porque XeLaTeX utiliza otros paquetes o tienen la funcionalidad incorporada.

Cuestiones relacionadas