AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1712168
Accepted
Jose Lopez
Jose Lopez
Asked: 2022-03-23 04:26:58 +0800 CST2022-03-23 04:26:58 +0800 CST 2022-03-23 04:26:58 +0800 CST

Como gerar equações MathML no Excel e importar para o Word como equações adequadas?

  • 772

O que quero dizer com a equação é um formato de equação que você obtém quando vai para inserir-> equação

insira a descrição da imagem aqui

Se eu copiar o código MathML para o word, ele funciona bem, então tentei concatenar tags MathML em strings, usando =CONCATENATE(...)e depois tentei copiar a tabela do excel

insira a descrição da imagem aqui

para palavra, para ver se o Word formata automaticamente o código MathML, mas como estou copiando a tabela inteira, acho que o Word não reconhece a equação.

Neste ponto, estou procurando uma maneira hacky de fazer isso, mas pensei em perguntar aqui para ver se alguém tem alguma idéia.

Editar:

Os dados nas células de texto são formados por concatenação como esta. Aqui está a fórmula para a célula de texto 2 mostrada no exemplo acima.

=CONCATENATE(
    "<math xmlns=""http://www.w3.org/1998/Math/MathML""> <mfrac> <mrow> <mi>",
    D2,
    "</mi><mo>&#xA0;</mo><mo>-</mo><mo>(</mo><mi>",
    B2,
    "</mi><mo>)</mo></mrow><mrow><mi>",
    C2,
    "</mi><mo>-</mo><mo>(</mo><mi>",
    A2,
    "</mi><mo>)</mo></mrow></mfrac></math>"
)
=CONCATENATE(
    "<math xmlns=""http://www.w3.org/1998/Math/MathML""> <mfrac> <mrow> <mi>",
    D3,
    "</mi><mo>&#xA0;</mo><mo>-</mo><mo>(</mo><mi>",
    B3,
    "</mi><mo>)</mo></mrow><mrow><mi>",
    C3,
    "</mi><mo>-</mo><mo>(</mo><mi>",
    A3,
    "</mi><mo>)</mo></mrow></mfrac></math>"
)

Editar 2

Captura de tela de todas as células:

insira a descrição da imagem aqui

microsoft-excel microsoft-word
  • 1 1 respostas
  • 284 Views

1 respostas

  • Voted
  1. Best Answer
    ExcelEverything
    2022-03-24T06:36:01+08:002022-03-24T06:36:01+08:00

    Isso é bastante interessante. Se você colar o código MathML <math ... </math>como texto não formatado no Word, ele será formatado como uma equação. No entanto, se for formatado como html (copiado de um site) ou como um objeto (copiado de uma célula do Excel), não será. Como exemplo, se você copiar o abaixo diretamente do superusuário:

    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mfrac> <mrow> <mi>4</mi><mo>&#xA0;</mo><mo>-</mo><mo>(</mo><mi>2</mi><mo>)</mo></mrow><mrow><mi>3</mi><mo>-</mo><mo>(</mo><mi>1</mi><mo>)</mo></mrow></mfrac></math>

    E, em seguida, cole direto no Word, ele será colado como lixo formatado em HTML:

    insira a descrição da imagem aqui

    No entanto, se você clicar no menu suspenso colar (ou pressionar CTRL) e selecionar "Manter somente texto" (ou usar Colar especial), ele será formatado corretamente:

    insira a descrição da imagem aqui

    TL;DR

    O Excel requer texto não formatado com um único <math...> ... </math>elemento MathML para reconhecê-lo e reformatá-lo. Colar várias células do Excel não funcionará, pois para manter a formatação da tabela/célula, o Word precisa colar os dados com formatação HTML (ou como um objeto do Excel) e não executará o analisador MATHML. Vice-versa, se você colar apenas como texto, a formatação da tabela será perdida. Além disso, o analisador só aceita um elemento MathML e, portanto, falhará com vários elementos, colando todos apenas como texto.

    Opções para colagem de várias equações

    • Selecione todas as células MATHML no Excel, copie e cole-as no Bloco de Notas. Agora selecione-os um por um, recorte-os e cole-os no Word.
    • Gere cada equação no Excel sem o <math ...> e as tags. Coloque a tag inicial na linha superior e a tag final na parte inferior. Agora junte tudo usando =TEXTJOIN("",TRUE, B1:B10). Copie o resultado e cole como texto apenas no Word. Edite a equação encadeada e pressione enter entre cada uma para separá-las em equações individuais.
    • Como acima, mas descubra como o Word faz quebras de linha no MathML (não consegui, a tag mspace não parece funcionar). Talvez tente as marcas normais de quebra de linha do Office Open XML?
    • Se você realmente deseja colar as equações dentro de uma tabela, faça uma tabela em branco dentro de um documento do Word em branco, colando em uma equação MathML simples, salve e feche. No explorer renomeie o Word .docx para .zip, descompacte e procure o arquivo OOXML apropriado. Edite-o manualmente e veja que você pode entender as tags OOXML para hackear as equações no OOXML. Substitua, salve, rezip, renomeie de volta para .docx e verifique!
    • Vejo que o editor de equações integrado do Word também suporta os formatos {LaTeX} e /UnicodeMath. Talvez procure neles para permitir que você codifique a tabela nativamente também.
    • 1

relate perguntas

  • Excel Pivot com operador "e"

  • Como usar a função LENGTH do Excel para uma coluna inteira?

  • Matriz do Excel (2 variáveis)

  • como abrir um arquivo de escritório do WSL

  • VBA para renomear planilha com base no nome do arquivo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve