Qual é essa marca de parágrafo misteriosa no Microsoft Word que não pode ser copiada?

2

No Microsoft Word 2013 no Windows 7, continuo encontrando uma marca de parágrafo estranha que não pode ser copiada e colada corretamente, o que causa todos os tipos de problemas. Infelizmente, não sei como produzir essa marca de parágrafo misteriosa, mas aqui está um arquivo que a contém: Marca de parágrafo misteriosa que não pode ser copiada.docx.zip (um arquivo DOCX compactado novamente para maior precisão).

A marca de parágrafo misteriosa aparece como uma rota normal (¶) quando eu faço o Microsoft Word exibir todos os caracteres não imprimíveis - exatamente como as marcas de parágrafo regulares. No entanto, ele se comporta de maneira estranha:

  • Quando seleciono o texto inteiro e o copio e colo para, digamos, o Bloco de Notas, ele é substituído por um caractere de espaço simples.
  • A marca de parágrafo misterioso pode ocorrer em arquivos DOCX ou DOC. Quando salvo o arquivo como RTF e o reabra com o MS Word, recebo um caractere de espaço. Quando eu salvo o arquivo como TXT, ele é convertido em uma nova linha normal.
  • Quando eu uso a caixa de diálogo Substituir do MS Word para substituir todas as marcas de parágrafo ("^ p") por outra coisa, as marcas de parágrafo misteriosas não serão substituídas. Dessa forma, eles se assemelham à marca de parágrafo obrigatória no final de qualquer arquivo do MS Word.
  • Quando abro o arquivo com outros aplicativos, a maioria converte a marca de parágrafo misteriosa em nada; por exemplo, o TextEdit.app da Apple ou o antigo Microsoft Office Word Viewer:

    Captura de tela do TextEdit

    Mas alguns o converterão em uma nova linha normal; por exemplo, LibreOffice:

    Captura de tela do LibreOffice

Qual é essa marca de parágrafo misterioso? Como posso evitar isso?

mach
fonte
Você poderia fazer o upload do arquivo .DOC, .RTF e .TXT? Tudo parece estar funcionando bem do meu lado e de cabeça para baixo, parece que talvez você tenha digitado uma quebra de linha no estilo Unix e o MS Office não a esteja convertendo corretamente, mesmo que deva.
Blerg
Em que aplicativo e sistema operacional ele funciona bem para você? Por enquanto, só posso enviar capturas de tela de como a marca de parágrafo misteriosa é interpretada de maneira diferente no TextEdit e no LibreOffice. Como só tenho acesso ao MS Word no escritório, não posso converter os arquivos até voltar para lá.
mach
Uma quebra de seção definida como 'contínua'?
Aganju
Para se livrar dele - O que acontece quando você clica no mouse ao lado dele e pressiona excluir ou retroceder?
Clayton
Pesquisei a parte em que você afirmou que outros programas a copiam corretamente. Eu instalei 2013 e estou olhando para ele. Eu posso ver o que você está falando agora.
Blerg

Respostas:

4

Observando sua amostra .docx, a "marca de parágrafo misterioso" é representada por um <w:cr/>elemento, descrito no padrão ISO OOXML (por exemplo, ISO29500-2012 Parte 1) na seção 17.3.3.4 como cr (retorno de carro).

A descrição resumida em "O comportamento de um retorno de carro no conteúdo da execução deve ser idêntica a um caractere de interrupção com tipo nulo e atributos claros, que devem terminar a linha atual e encontrar a próxima linha disponível na qual continuar".

Em outras palavras, ele deve se comportar como um avanço de linha rígida (e, na verdade, você não obtém o espaçamento normal de parágrafos após essa marca), mas o Word evidentemente o exibe da mesma maneira que uma marca de parágrafo. Normalmente, as marcas de parágrafo seriam exibidas no final de um elemento (Parágrafo) e talvez em alguns outros casos.

Uma pergunta é como você entra <w:cr/>no seu documento. Espero que haja várias maneiras, mas uma maneira de certamente fazer isso é usar Localizar / Substituir para substituir um caractere por " ^13" (com a opção de curinga desmarcada).

Livrar-se deles não é fácil, porque se você tentar substituir ^ 13 por algo, o Word substituirá todas as marcas de parágrafo. Se você copiar / colar uma marca de parágrafo misteriosa na caixa "Localizar", o Word substituirá todos os espaços. Mesmo no VBA, parece que eles aparecem como caracteres "13" que não são fáceis de distinguir dos caracteres normais de marca de parágrafo.

No entanto, como uma primeira tentativa realmente grosseira de uma solução, o VBA a seguir parece funcionar em versões recentes do Windows Word:

Sub replaceCRinDocBody
' Replaces paragraph marks that correspond to <w:cr/> Elements 
' by a normal paragraph mark
' This only processes the document body, not headers/footers.
Dim l as Long
With ActiveDocument.Content.Characters
  For l = 1 to .Count
    If AscW(.Item(l)) = 13 Then
      If Instr(1,.Item.WordOpenXML,"<w:cr/>") > 0 Then
        .Item(l).Text = vbCr
      End If
    End If
  Next
End With
End Sub

fonte
Muito obrigado! Para meus propósitos, é suficiente substituir "^ 13" por "^ p". Eu acho que a área de transferência do Windows lida com a marca de parágrafo misteriosa como formatação. Um aplicativo que aceita texto formatado da área de transferência pode interpretá-lo como nova linha, enquanto um aplicativo que entende apenas texto sem formatação o interpretará como um espaço. Gostaria de saber se algo pode ser feito para que um formulário de entrada em um site o interprete como uma nova linha.
mach
ré. Na área de transferência, observei o que o Word coloca na área de transferência quando você Editar-> Copia uma dessas marcas misteriosas e, na maioria dos formatos padrão (CF_TEXT etc.), parece colocar um espaço (0x20) lá. Não sei quais formatos o NotePad procura, mas acho que CF_TEXT, CF_UNICODETEXT ou CF_OEMTEXT, e todos eles têm um espaço. Portanto, o Bloco de Notas nem sequer está "interpretando" um caractere 0x0a como um espaço - apenas exibindo o que encontra. Quanto a um formulário de entrada em um site, acho que tudo depende de como o formulário está carregando o texto.
Então, quando copio a marca de parágrafo misteriosa de um documento do Word e colo em outro documento do Word, o Word provavelmente usa um formato especial da área de transferência? No Word, ele pode ser copiado com êxito e a cópia mantém um comportamento estranho.
mach
Sim, o Word deve usar um formato particular. Ele coloca vários formatos na área de transferência - OTTOMH Não sei qual deles usa por padrão, mas o ISTR não é óbvio pelo nome do Norman.
4

Acredito que meu palpite estava correto, os caracteres do problema que você está vendo parecem ser um estilo * nix de nova linha (código ASCII: 0D) ou a versão da Apple (código ASCII: 0A), enquanto o Windows normalmente usa uma codificação combinada de nova linha , (Códigos ASCII: 0D 0A). Posso recriar o problema criando um arquivo de texto e editando manualmente os valores hexadecimais do arquivo para fornecer as novas linhas * nix. A abertura do arquivo de texto no Word mostra as novas linhas conforme o esperado e a tentativa de copiá-las no Bloco de Notas (++) as exibirá como espaços. Até os copiei no arquivo que você postou e o salvou, fechei o Word, reabri e tentei copiar e colar o texto, com os mesmos resultados. Outros programas que foram escritos para serem portáteis (LibreOffice, OpenOffice, provavelmente outros), têm a capacidade de usar os diferentes tipos de caracteres de nova linha, o que é mais provável por que eles '

Para se livrar deles, você provavelmente precisará usar o OpenOffice ou o LibreOffice e usar um regex para encontrá-los; no entanto, eles não estão sendo salvos como o valor hexadecimal 0D, então não tenho certeza de qual valor você deve usar para encontrar os caracteres.

Blerg
fonte
-2

A marca de caractere especial é o Marcador de recuo de parágrafo no Word. Para removê-lo, defina sua versão do word para não mostrar formatação. Como você faz isso é:

1) Clique na imagem de botão Microsoft Office Button Office e, em seguida, clique em Opções do Word.

2) Clique em Exibir.

3) Em Sempre mostrar essas marcas de formatação na tela, limpe as caixas de seleção das marcas de formatação que você não deseja exibir nos documentos o tempo todo.

Link do MSDN para obter mais informações, se necessário

https://support.office.com/en-us/article/Show-or-hide-formatting-marks-c0460106-19d3-4441-986c-b655bffe6be4

user2676140
fonte
O problema não é que eu não esteja familiarizado com o sinal de pilcrow. O problema é que algumas marcas de parágrafo têm um comportamento estranho, enquanto outras se comportam normalmente. Ambos os tipos são representados pelo sinal de avanço quando caracteres não imprimíveis são exibidos. Eu mudei a redação para tornar isso mais óbvio.
mach