Exportando caracteres unicode para pdf usando o látex do modo organizacional
Olá pessoal do Emacs!
Estou tendo problemas para exportar símbolos matemáticos unicode do buffer (modo org) para o arquivo pdf.
1. Descrição do Problema:
Os símbolos são inseridos no buffer como caracteres unicode (via método de entrada TEX ou matemática da empresa )
Aqui está a demonstração do código-fonte:
O arquivo .tex produzido inclui símbolos unicode:
O arquivo PDF não:
2. Coisas que tentei até agora:
Xelatex e unicode-math: Isso está incluído na resposta do Rasmus. Aqui tenho que admitir: não estou usando a versão de desenvolvimento do org-mode que ele está mencionando. (falha na instalação) Tentei o xelatex adn unicode-math de qualquer maneira. Minha versão do modo Org é 8.2.10.
Incluir isso no arquivo apresenta uma mensagem não tão agradável quanto o arquivo pdf.
org-latex-compile: arquivo PDF ./unicode_export_test.pdf não foi produzido: [erro de pacote]
Eu verifiquei a instalação correta do unicode-math:
A instalação do Xelatex é a versão mais recente:
instale a versão de desenvolvimento do modo organizacional: (falhou) A seguir Como eu me mantenho atualizado com o desenvolvimento da borda de ataque? - tutorial Consegui (acho) baixá-lo e compilá-lo. Como não tenho idéia de como informar o Emacs para executar esta versão, o Emacs executa a versão 8.2.10 no modo Org (release_8.2.10 @ /usr/local/share/emacs/24.4/lisp/org/). Eu tentei adicionar as seguintes linhas à minha configuração.
Sem resultado agradável.
Pesquisando na Internet: a solução não foi encontrada.
Me bater por ser estúpido: não ajudou.
3. Pergunta: Como exportar caracteres unicode do modo organizacional para pdf?
Preciso configurar alguma variável de modo organizacional?
Compilar com diferentes intérpretes de látex?
Se a versão de desenvolvimento corrigir isso .... Como posso instalá-lo?
— Mente vazia
você poderia por favor fornecer um exemplo em texto simples, além de imagens ...
Você precisa do arquivo de látex para usar \usepackage[utf8x]{inputenc}em vez do padrão \usepackage[utf8]{inputenc}. Isso funciona com o látex padrão (pdf).
Para a exportação da organização gerar isso, você deve definir a variável de org-latex-inputenc-alistacordo. Por exemplo:
Para que a variável seja definida, você pode precisar (require 'ox-latex)primeiro.
Infelizmente, isso suporta apenas um conjunto limitado de letras matemáticas. Muito mais pode ser suportado, incluindo \usepackage[mathletters]{ucs}. Isso tem que aparecer antes das inputenccoisas, então você não pode simplesmente usar a #+latex_header:. Uma maneira de fazer isso é adicioná-lo à frente org-latex-default-packages-alist.
Observe que a ucsdocumentação (geralmente disponível em texdoc ucs) avisa sobre a mathlettersopção:
Esta opção está desativada por padrão, porque o uso de math greek em um texto normal não parece bom.
Se você deseja que essas configurações se apliquem apenas ao arquivo atual e não globalmente, é possível defini-las como variáveis ​​locais do arquivo . Adicione o seguinte próximo ao final do arquivo:
eval é uma pseudo variável que permite executar o código lisp quando o arquivo é carregado.
Símbolos Ω Θ Γ ωnão são exportados. Supondo que haverá mais símbolos que não serão exportados.
— 2141616
@Empty_Mind Oh my. Provavelmente, isso foi muito simples para realmente funcionar (embora esteja tudo bem no exemplo fornecido). Precisa de mais investigação no lado do látex.
@Empty_Mind Acabei de editar meu post. Tentei apenas ômega e teta, espero que outro trabalho também.
Como não fui capaz de fazer isso sozinho: como você achou as informações necessárias? O que você estava procurando?
— 2141616_Data de publicação
@Empty_Mind O primeiro passo foi fazer com que a peça de látex funcionasse. Eu procurei por unicode em tex.stackexchange e, em seguida, usei a documentação tex local (inputenc, ucs). É conveniente editar diretamente o arquivo tex exportado pela organização e compilá-lo para experimentar. Depois de obter um arquivo de látex funcional, o segundo passo é fazer com que a organização exporte o material necessário. Eu descobri as variáveis ​​no arquivo em ox-latex.elque o "LaTeX Back-End para Org Export Engine" está definido. Devo mencionar que usei o látex pela primeira vez em 1995 e estou passando lentamente para o unicode?
Você só precisa carregar o suporte unicode adequado no LaTeX via unicode-mathe fontspec. Então você precisa compilar com xelatexou lualatex.
Ver o Docstring das seguintes variáveis: org-latex-packages-alist, org-latex-pdf-processe org-latex-compiler(o último é introduzido em Org 9).
Na versão de desenvolvimento do Org, você poderia fazer algo assim:
Isso parece promissor. Mas estou tendo Process completed with errors: [package error] alguma idéia de como corrigir isso ou obter uma descrição de erro mais específica?
— 21816 Empty_Mind
Como posso instalar a versão de desenvolvimento?
1) Escreva expressões TeX apropriadas (em vez de unicode) e deixe a org apenas exibi- las como caracteres utf-8 (com C-c C-x \). http://orgmode.org/manual/Special-symbols.html
Ou 2) Carregue um pacote TeX que traduza seus caracteres utf-8 nas expressões matemáticas apropriadas. Por exemplo, https://www.ctan.org/pkg/unicode-math?lang=en .