I have successfully included my Python code into LaTeX using \usepackage{listings}. It looks nice and all the syntax is colored the way I like it. Now I have some more files I would like to include, but I don't know what language they are. I have an AutoHotkey .ahk file, a .bat batch script and two .dat scripts that are called by the .bat file. How can I make listings colour the syntax as nice as it does with Python?

Snippet Python result: enter image description here



backgroundcolor=\color{white},   % choose the background color; you must add     \usepackage{color} or \usepackage{xcolor}; should come as last argument
basicstyle=\footnotesize,        % the size of the fonts that are used for the code
breakatwhitespace=false,         % sets if automatic breaks should only happen at whitespace
breaklines=true,                 % sets automatic line breaking
captionpos=t,                    % sets the caption-position to top
commentstyle=\color{mygray},    % comment style
deletekeywords={...},            % if you want to delete keywords from the given language
escapeinside={\%*}{*)},          % if you want to add LaTeX within your code
extendedchars=true,              % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
frame=single,                      % adds a frame around the code
keepspaces=true,                 % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
keywordstyle=\color{blue},       % keyword style
language=Octave,                 % the language of the code
morekeywords={*,...},            % if you want to add more keywords to the set
numbers=left,                    % where to put the line-numbers; possible values are (none, left, right)
numbersep=5pt,                   % how far the line-numbers are from the code
numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
rulecolor=\color{black},         % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
showspaces=false,                % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
showstringspaces=false,          % underline spaces within strings only
showtabs=false,                  % show tabs within strings adding particular underscores
stepnumber=1,                    % the step between two line-numbers. If it's 1, each line will be numbered
stringstyle=\color{mygreen},     % string literal style
tabsize=2,                     % sets default tabsize to 2 spaces
title=\lstname                   % show the filename of files included with \lstinputlisting; also try caption instead of title

\lstinputlisting[frame = single]{File1.bat}

\lstinputlisting[language = python, frame = single]{File2.dat}

\lstinputlisting[language = python, frame = single]{File3.ahk}

\lstinputlisting[language = python, frame = single]{File4.py}

\lstinputlisting[language = python, frame = single]{File5.dat}

EDIT: I noticed that Notepad++ does recognize the syntax. Any idea on how to mimic Notepad++ syntax colouring?

  • 1
    For batch files language = command.com might be suitable. – Marijn Jul 19 '18 at 16:34
  • It doesn't quite get it, but some of the syntax is coloured. Thanks – Hans Jul 20 '18 at 12:27
  • 3
    Can you make a minimal working example (MWE) including the files which you want to include? Also if you have any specification what "correct syntax colouring" is, please state them on your question. – samcarter_is_at_topanswers.xyz Jul 22 '18 at 12:41

Browse other questions tagged or ask your own question.