Caracteres inválidos em fontes de látex geradas
Pergunta
Estou executando doxygen (1.5.8) em um projeto C# fora do Visual Studio 2008 em uma máquina Windows executando o XP. Ao gerar o código do látex, algumas seqüências ilegais estão incluídas. Sempre envolve a seguinte sequência: "» »¿" (um latim-i com uma dierese, algo como o operador de mudança binária e uma marca de pergunta aberta espanhola). Eu já vi isso acontecer no contexto "ï» »usando { bf System}", mas talvez haja outros.
O arquivo de látex gerado lê
\begin{CompactItemize}
\item
using {\bf System}
\end{CompactItemize}
Enquanto a fonte é simplesmente:
using System;
using System.Collections.Generic;
using System.Linq;
Algum personagem estranho do Windows Bof? Parece que é somente antes do sistema de uso; diretiva (a primeira de cada arquivo).
Solução

Essa é uma representação ISO-8859-1 do caractere codificado UTF-8 U+Feff, a marca de ordem de bytes. O BOM destina-se ao uso como o primeiro ponto de código nos arquivos UTF-16 e não deve ser usado nos arquivos UTF-8, mas existem algumas ferramentas muito estúpidas que o produzem por padrão, infelizmente. E se você estiver criando arquivos concatenando bits de texto de outros arquivos, poderá até acabar com BOMs no meio do seu documento.
Encontre o editor que está salvando arquivos como "UTF-8 com BOM" e queima.
Pergunta eta -atualizada:
`» »usando { bf System}
Enquanto a fonte é simplesmente:
usando o sistema;
Verifique essa fonte em um editor hexadecimente para obter um falso-BOM oculto antes do 'usando'.
Outras dicas
It looks like a character encoding problem to me.
That three-character sequence is the Unicode byte-order mark 0xfeff
encoded in UTF-8, although I'm not sure why the byte-order mark would be showing up in the middle of your documentation... that could be significant or it could just be a coincidence.