Создано с использованием импортированных .m-файлов с å ä ö в коде

Создано с использованием импортированных .m-файлов с å ä ö в коде

Для начала немного, надеюсь, полезной информации:

  • Версия Python: 3.8.0
  • Пигменты версии 2.5.1
  • TexLive 2019
  • Тексмейкер 5.0.3
  • Сборка с использованием PDFLaTeX (пробовал также XeLaTeX и LuaLaTeX)
  • Windows 10 (если это имеет значение...?)

Что я хочу

Я пытаюсь импортировать файл скрипта Matlab (*.m), который включает такие символы, какå,диöс использованием mintedпакета.

Проблема

Происходит следующее: мой код импортируется и отображается, но указанные символы отсутствуют, хотя и немного по-разному в разных движках/конструкторах, упомянутых выше.

Тем не менее, вместо того, \inputminted...чтобы импортировать мой *.m-файл, все работает отлично, если вставить код Matlab прямо внутрь \begin{minted}{matlab}... \end{minted}. Это означает, что мойå's,д'песокöотображаются правильно.

Это, очевидно, решает проблему, но я все еще не понимаю, почему функция импорта mintedне работает должным образом.

МВЭ:

\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[swedish]{babel}
\usepackage{minted}

\begin{document}

\section{Pasted code}

\begin{minted}{matlab}
Hönökakan åts upp av änkan.
\end{minted}

\section{Imported code}

\inputminted{matlab}{test.m} % Contains the same sentence as above

\end{document}

Выход

4 сообщения об ошибках:

! Package inputenc Error: Invalid UTF-8 byte "F6.See the inputenc package documentation for explanation.Type H <return> for immediate help.... ...{n}{H�n�kakan }\PYG{l+s}{�ts upp av �nkan.}

! Package inputenc Error: Invalid UTF-8 byte "F6.See the inputenc package documentation for explanation.Type H <return> for immediate help.... ...{n}{H�n�kakan }\PYG{l+s}{�ts upp av �nkan.}

! Package inputenc Error: Invalid UTF-8 byte sequence.See the inputenc package documentation for explanation.Type H <return> for immediate help.... ...{n}{H�n�kakan }\PYG{l+s}{�ts upp av �nkan.}

! Package inputenc Error: Invalid UTF-8 byte sequence.See the inputenc package documentation for explanation.Type H <return> for immediate help.... ...{n}{H�n�kakan }\PYG{l+s}{�ts upp av �nkan.}

Что каким-то образом связано с inputenc. Эти ошибки возникают только при использовании PDFLaTeX (XeLaTeX только шлепает меня по пальцам за использование inputenc и прощает меня, но LuaLaTeX также выдает мне ошибки, которые заявляют, что я использую недопустимую последовательность utf-8)

решение1

Сидя здесь и написав вопрос, я просмотрел файл журнала, чтобы посмотреть, нет ли там чего-нибудь ценного. Конечно, было. Проблема была не в TeX или minted, а в том, как MATLAB кодирует.

The document does not appear to be in UTF-8 encoding.
Try adding \UseRawInputEncoding as the first line of the file
or specify an encoding such as \usepackage [latin1]{inputenc}
in the document preamble.
Alternatively, save the file in UTF-8 using your editor or another tool

Подозревая, что файл *.m, созданный мной в MATLAB (R2019), может иметь другую кодировку, я скопировал/вставил свой код в блокнот, сохранил его в UTF-8 (и как файл *.m, хотя это может и не иметь значения) и, о чудо, теперь mintedне возникло никаких проблем при запуске PDFLaTeX.

Связанный контент