diff --git a/content/blog/latexcode.md b/content/blog/latexcode.md new file mode 100644 index 0000000..81ce03a --- /dev/null +++ b/content/blog/latexcode.md @@ -0,0 +1,64 @@ +--- +title: "Code in LaTex" +date: 2020-04-30T23:46:05-04:00 +draft: false +tags: [] +--- + +I am currently working on a paper in LaTex and wanted to include some source code in it. I didn't want to use the default `verbatim` environment since I wanted to include syntax highlighting as well. Luckily, the `listings` package is an easy and extensible way to include source code inside LaTex documents. To speak first of its extensibility, here is a subset of the arguments that it can possibly take: + +| Argument | Description | +| ----------------- | ------------------------------------------------------------ | +| aboveskip | Amount of space to include above code. | +| backgroundcolor | Background color | +| basicstyle | Font-style of code (Color & Size) | +| belowskip | Amount of space to include below code. | +| breakatwhitespace | Only break at whitespace (boolean) | +| breaklines | Automatic Line Breaking (boolean) | +| commentstyle | Font-style of comments (Color & Size) | +| frame | Type of frame: `l` for left, `r` for right, `t` for top, `b` for bottom; can use combination of letters or `single`. | +| keywordstyle | Font-style of keywords (Color & Size) | +| language | Language of code (for highlighting purposes) | +| numbers | Where to put the numbers: `none`, `left`, or `right`. | +| numbersep | How far the line-numbers are from the code. | +| numberstyle | Font-style of numbers (Color & Size) | +| stringstyle | Font-style of strings in code (Color & Size) | +| tabsize | Default tab size in terms of spaces. | +| title | Show filename included in `\lstinputlistings` or caption. | + +Here is an example of code that I used in a paper + +```latex +\usepackage{color} +\usepackage{listings} +\definecolor{keyblue}{rgb}{0.1, 0.1, 0.6} +\definecolor{dkgreen}{rgb}{0,0.6,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{stringcol}{rgb}{0.58,0.4,0.1} + +\lstset{frame=l, + language=Python, + aboveskip=3mm, + belowskip=3mm, + columns=flexible, + basicstyle={\small\ttfamily}, + numbers=left, + numberstyle=\tiny\color{gray}, + numbersep=2mm, + keywordstyle=\color{keyblue}, + commentstyle=\color{dkgreen}, + stringstyle=\color{stringcol}, + breaklines=true, + tabsize=4 +} + +\begin{lstlisting} +def greeting(): + return "Hello!" + +# Printing the greeting to the screen +print(greeting()) +\end{lstlisting} +``` + +![image-20200501001231572](/files/images/20200501001231572.png) \ No newline at end of file diff --git a/static/files/images/20200501001231572.png b/static/files/images/20200501001231572.png new file mode 100644 index 0000000..d8b33e3 Binary files /dev/null and b/static/files/images/20200501001231572.png differ