create a role (font color) in sphinx that works with `make latexpdf`

匆匆过客 提交于 2020-07-14 07:09:01

问题


I'm used to write Rest documents while I never used LaTex.

What I would like to do is create some font color roles that I can add inline the text (e.g. :red:this text is red) that work both in html and in latexpdf compilation.

I've found a similar question here, but I cannot reproduce it.

I think that the magic will be done changing the conf.py file, but I didn't find out how.

Moreover, during the latexpdf compilation, in the _build/latex directory, there is a sphinx.sty file that contains a lot of things for the customization of the final pdf file.

If I want to change some parameter of the final pdf file, have I to edit this file, put it somewhere and tell sphinx to take this style file?

Sorry for all these stuff, but I'm a little bit confused..

Thanks!


回答1:


Just add:

  1. a 'source/_templates/layout.html' file with

    {% extends "!layout.html" %}
    
    {% block extrahead %}
    <link rel="stylesheet" type="text/css" 
         href="{{ pathto('_static/custom.css', 1) }}" /> 
    
    {% endblock %}
    
  2. a 'source/_static/custom.css' file with

    @import url("default.css");
    
    .red {
      color: red;
    }
    

You can now use a :red: role in your rst files. Don't forget the back tick and the clean target after html or css editions:

A :red:`red`text

$> make clean html

The global tree:

test-sphinx
├── Makefile
├── build
└── source
    ├── _static
    │   └── custom.css
    ├── _templates
    │   └── layout.html
    ├── conf.py
    └── index.rst

An index.rst example:

TS test!
========

.. role:: red

This is :red:`just` a test …

Hope this help,

Antoine



来源:https://stackoverflow.com/questions/32033158/create-a-role-font-color-in-sphinx-that-works-with-make-latexpdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!