Почему использование # в латексе в \ mintinline {} {} возвращает ошибку? - PullRequest
1 голос
/ 14 апреля 2020

Латекс возвращает ошибку, когда я пишу # in \ mintinline

Когда я удаляю, # проблема исчезает.

\section{Example 1 - \mintinline{bash}{${#parameter}}}

Может кто-нибудь помочь?

Сообщения об ошибках

Список кодов:

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc} 
\usepackage{minted} 

\begin{document}

\section{Example 1 - \mintinline{bash}{${#parameter}}}

\end{document}

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

С небольшой помощью из пакета cprotect:

\documentclass{article}

\usepackage{minted}

\usepackage{cprotect}

\begin{document}

\cprotect\section[Example 1]{Example 1 - \mintinline{bash}|${#parameter}|  }

\end{document}

enter image description here

https://www.overleaf.com/read/vstrwbzzndrf

0 голосов
/ 14 апреля 2020

И $, и # являются специальными символами в LaTeX: $ открывает и закрывает «математический режим», а # относится к пронумерованному параметру функции.

Если вам нужно чтобы называть их обычными символами, вам нужно экранировать их с \$ и \# соответственно (чтобы быть педанти c, \$ не «экранирование» как таковое, а команда \$, которая расширяется до $ как обычный символ).

Предполагается, что \mintinline не делает что-то умное, чтобы сделать специальные символы не специальными (некоторые макросы делают это для удобства). Предполагая, что нет, и напомнив, что { и } являются специальными символами, я думаю , что вы можете получить то, что вы хотите, с помощью

\mintinline{bash}{\$\{\#parameter\}}}

(что, к сожалению, немного беспорядок набирать ...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...