Forçar o uso de fonte de largura fixa no modo organizacional


10

Qual é a maneira mais simples de forçar o modo org do Emacs a usar a mesma família e altura de fonte de largura fixa em todos os lugares (mas mantendo outras propriedades distintas, como o primeiro plano)?

Eu poderia fazer com que todos os org-level-nrostos fossem herdados fixed-pitchou fazer variable-pitchreferência a uma fonte de largura fixa, por exemplo, mas isso seria complicado, eu acho.

Desde já, obrigado.


11
Olá. Você está usando um tema personalizado ou o padrão do Emacs? Alguns temas alteram certas faces, por exemplo, títulos da organização. Além disso, você alterou a fonte padrão do Emacs ou alterou alguns rostos? Por padrão, o Emacs define uma fonte de largura fixa / monoespaçada.
undostres 26/11/14

Hey @undostres, estou usando o Solarized para Emacs de Bozhidar Batsov .
rsenna

3
Hmm, como eu pensava. Esse tema introduz mudanças mais "intrusivas" do que outras. O arquivo README no repositório mostra algumas variáveis ​​que você pode alterar para evitar algumas modificações, mas se bem me lembro, a fonte de largura variável não pode ser alterada. Uma solução alternativa: use outra implementação Solarized como esta ou esta . Mas se você não quiser trocar de tema, precisará aplicar algumas alterações de rosto acima do tema de Batsov.
undostres 27/11/14

11
Certo! NP. Eu sou um usuário pesado da organização e tive o mesmo problema com esse tema. Finalmente decidi alterá-lo em vez de tentar um hack (o que pode ser feito, no entanto).
destrói

11
Defina algumas configurações em Configurações específicas do tema para desativar as alterações no tamanho da fonte.
Ivan Sviatenko

Respostas:


8

Alguns temas mudam de rosto sem um bom motivo.

Por exemplo, se você estiver usando o Solarizedtema, adicione o código abaixo antes de carregá-lo.

(setq solarized-use-variable-pitch nil
      solarized-scale-org-headlines nil)

3

Eu usaria face-remap-add-relative; consulte a seção Remapeamento de faces do manual Emacs Lisp.

Aqui está um gancho que define a propriedade "família" da defaultface nos buffers do modo Org como "Monospace", transformando default- se efetivamente fixed-pitch.

(add-hook 'org-mode-hook
          (lambda () (face-remap-add-relative 'default :family "Monospace")))

Engraçado. Para mim, isso teve o efeito oposto: todas as fontes org agora são proporcionais (títulos e itens da lista). Antes disso, pelo menos os itens da lista eram exibidos com uma fonte monoespaçada.
rsenna

Eu face-remap-add-relativetambém uso e funciona para mim (não tenho "Monospace", mas "Input Sans Mono"). Há também vários outros rostos que você pode querer mexer com, todos nomeados org- algo .
Amitp
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.