Como ampliar fragmentos de látex no modo organizacional ao mesmo tempo que o texto do buffer?


12

Estou usando org-modeno emacs, mas acho que a pergunta também é relevante para os auctexusuários.

Em org-modevocê pode mostrar fragmentos de látex, como o manual demonstra.

Mas: esses fragmentos (principalmente fórmulas matemáticas) parecem ter tamanho constante . Quando digito C-x C-+ou C-x C-- apenas o tamanho do texto do buffer é alterado. Como posso alterar o tamanho dos fragmentos do buffer?

(Sei que posso aumentar ou diminuir os fragmentos org-format-latex-options, mas isso é permanente. Quero alterar o tamanho dos fragmentos (os arquivos png) como o texto.)

Respostas:


4

Resposta atualizada: (obrigado pelo feedback)

(defun update-org-latex-fragments ()
  (org-latex-preview '(64))
  (plist-put org-format-latex-options :scale text-scale-mode-amount)
  (org-latex-preview '(16)))
(add-hook 'text-scale-mode-hook 'update-org-latex-fragments)

Resposta antiga:

Aqui está um começo: conecte-se text-scale-mode-hooke atualize-o de org-format-latex-optionsacordo.

(defun update-org-latex-fragments ()
  (org-toggle-latex-fragment »(16))
  (opções plist-put org-format-latex: dimensionar quantidade de modo de escala de texto)
  (org-toggle-latex-fragment '(16)))
(adicionar gancho 'fragmentos de modo de escala de texto', atualizar-org-látex-fragmentos)

Pode ser necessário um fator de escala antes text-scale-mode-amount...


Nenhuma org-toggle-latex-fragmentfunção no modo organizacional mais recente.
precisa saber é o seguinte

@ user3173715 Seu mais recente não é o meu mais recente, então ...
thisirs

você está usando o modo organizacional de desenvolvimento?
Leu_Grady

@ user3173715 Use org-preview-latex-fragment(obsoleto desde ago 2014)
thisirs

org-toggle-latex-fragmenté obsoleto desde então org 9.3. Use em org-latex-previewvez disso. Além disso, pelo menos ao meu lado, o primeiro org-toggle-latex-fragmentdeve demorar '(64). '(64)limpe as imagens no buffer e '(16)exiba-as (consulte o documento).
Firmin Martin

2

Com base na resposta desta, estou usando o seguinte com êxito. O fator de escala neste exemplo é 2,3:

(defun update-org-latex-fragment-scale ()
  (let ((text-scale-factor (expt text-scale-mode-step text-scale-mode-amount)))
    (plist-put org-format-latex-options :scale (* 2.3 text-scale-factor)))
)
(add-hook 'text-scale-mode-hook 'update-org-latex-fragment-scale)

Observe que removi o código que alterna a visualização, pois prefiro fazer isso manualmente, e pode demorar um pouco se houver muitos fragmentos a serem visualizados. Esse código ajusta apenas a escala dos fragmentos visualizados, para que, na próxima vez em que sejam exibidos C-c C-x C-l, tenham um tamanho apropriado que corresponda ao texto.


A codificação é o fator necessário?
T. Verron

@ T.Verron o fator de escala é algo que afeta o tamanho do fragmento visualizado, grande ou pequeno, em relação ao tamanho do texto. A proporção entre os dois provavelmente depende da fonte que você está usando e possivelmente do dpi da sua tela. Pode ser possível automatizar a computação de um fator de escala, mas eu prefiro mexer nele até parecer do meu gosto. Observe que o "fator de escala codificado" não é o mesmo que o fator de escala do texto, que muda automaticamente à medida que você amplia o texto.
Mark

Ah, ok, na verdade, eu pensei que seria o fator de zoom. Desculpe!
T. Verron

0

Isso já está embutido se você usar o texfrag-modeOrgmode em vez do suporte a fragmentos LaTeX interno do Orgmode.

Apenas gere novamente os fragmentos LaTeX C-c C-p C-ddepois de alterar o tamanho com C-x C-+ C-+ .... O tamanho dos fragmentos do LaTeX se ajustará ao tamanho do texto ao redor.

Tamanho de texto normal:

Tamanho de texto normal

Depois de pressionar C-x C-+ C-+ C-xe C-c C-p C-d:

insira a descrição da imagem aqui

Nota: Com a última versão do texfrag, você também pode ativar texfrag-show-last-mode. Com esse modo secundário ativado, o Texfrag mostra o último fragmento LaTeX renderizado como identificador, se você editar a fórmula:

texfrag-show-last-mode

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.