XeLaTeX에서 LuaLaTeX로 이동하려고 합니다. 특수 구분 기호(밑줄)가 있는 목록이 있습니다. 다음 MWE는 XeLaTex에서 완벽하게 컴파일되지만 LuaLaTeX에서는 다음 오류가 발생합니다.
에러 메시지:
./plots.tex:36: Missing $ inserted.
<inserted text>
$
l.36 TABLE1(_ID1_
,DATA1)
?
Process aborted
MWE:
%!TEX TS-program = lualatex
%!TEX encoding = UTF-8 Unicode
\documentclass[11pt, a4paper]{article}
\usepackage[dvipsnames,svgnames,x11names,hyperref]{xcolor}
\usepackage{unicode-math}
\usepackage{listings}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
language=SQL,
backgroundcolor=\color{backcolour},
commentstyle=\color{codegreen},
keywordstyle=\color{magenta},
numberstyle=\small\ttfamily\color{codegray},
stringstyle=\color{codepurple},
basicstyle=\small\ttfamily,
breakatwhitespace=false,
breaklines=true,
captionpos=t,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=4,
moredelim=[is][\underbar]{_}{_},
moredelim=**[is][\bfseries]{@}{@},
escapeinside={(*@}{@*)}
}
\begin{document}
\lstset{style=mystyle}
\begin{lstlisting}[caption=Database Tables, label={lst:tables}]
TABLE1(_ID1_,DATA1)
TABLE1(_ID2_,DATA2)
TABLE3(_ID3_,DATA3)
\end{lstlisting}
\end{document}
추가 정보:
- 저는 MacTeX 2014를 사용하고 있습니다.
- 패키지 를 사용하려고 했지만
underscore
도움이 되지 않았습니다. - 구분 기호를 변경하려고 시도했지만 둘 다 도움이 되지 않았습니다.
답변1
문제는 설정 \underbar
의 명령 입니다 moredelim
. unicode-math
이는 수학 명령입니다. 예 ulem
를 들어 패키지 를 대신 사용할 수 있습니다 \uline
.
\usepackage{ulem}
...
`moredelim=[is][\uline]{_}{_},`