mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-14 04:41:49 +08:00
216 lines
8.5 KiB
TeX
216 lines
8.5 KiB
TeX
%% Packages and Settings
|
||
\UseRawInputEncoding
|
||
\documentclass{article}
|
||
\usepackage[english]{babel}
|
||
\usepackage{adjustbox}
|
||
\usepackage{colortbl}
|
||
\usepackage[T1]{fontenc}
|
||
\usepackage[margin=1in]{geometry}
|
||
\usepackage{graphicx}
|
||
|
||
\usepackage{fontspec}
|
||
\setmainfont[Script=Devanagari]{Courier New}
|
||
\setsansfont{DejaVu Sans}
|
||
\setmonofont{DejaVu Sans Mono}
|
||
|
||
\usepackage{xeCJK}
|
||
\setCJKmainfont[BoldFont=SimHei,ItalicFont=KaiTi]{微软雅黑}
|
||
\xeCJKsetup{PunctStyle=kaiming,CJKspace=true,CheckSingle=true}
|
||
|
||
% https://tex.stackexchange.com/questions/219174/issue-with-page-breaks-before-section-and-toc-hyperlinks?rq=1
|
||
\usepackage{titlesec}
|
||
\usepackage{hyperref}
|
||
\newcommand{\sectionbreak}{\clearpage}
|
||
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage{listings}
|
||
\usepackage{longtable}
|
||
\usepackage{tabularx}
|
||
\usepackage{tabu}
|
||
\usepackage{textcomp}
|
||
\usepackage{xcolor}
|
||
\usepackage{array}
|
||
|
||
\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
|
||
\newcolumntype{C}[1]{>{\PreserveBackslash\centering}m{#1}}
|
||
\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}
|
||
\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}
|
||
|
||
% https://tex.stackexchange.com/questions/143015/different-column-number-in-rows
|
||
\usepackage{booktabs,multirow,tabularx}% http://ctan.org/pkg/{booktabs,multirow,tabularx}
|
||
\newcommand{\makecell}[1]{\begin{tabular}{c}#1\end{tabular}}
|
||
|
||
% https://tex.stackexchange.com/questions/823/remove-ugly-borders-around-clickable-cross-references-and-hyperlinks
|
||
\hypersetup{
|
||
colorlinks,
|
||
linkcolor={red!50!black},
|
||
citecolor={blue!50!black},
|
||
urlcolor={blue!80!black}
|
||
}
|
||
|
||
%% Unicode rules.
|
||
% https://tex.stackexchange.com/questions/215520/output-from-tree-command-in-a-listing
|
||
\usepackage{newunicodechar}
|
||
\newunicodechar{└}{{\smash{\raisebox{0.5ex}{\rule{0.5pt}{\dimexpr\baselineskip-1.5ex}}}\raisebox{0.5ex}{\rule{1ex}{0.5pt}}}}
|
||
\newunicodechar{─}{{\raisebox{0.5ex}{\rule{1.5ex}{0.5pt}}}}
|
||
\newunicodechar{├}{{\smash{\raisebox{-1ex}{\rule{0.5pt}{\baselineskip}}}\raisebox{0.5ex}{\rule{1ex}{0.5pt}}}}
|
||
\newunicodechar{’}{{'}}
|
||
\newunicodechar{“}{{"}}
|
||
\newunicodechar{”}{{"}}
|
||
|
||
%% Code highlighting.
|
||
\definecolor{commentsColor}{rgb}{0.497495, 0.497587, 0.497464}
|
||
\definecolor{keywordsColor}{rgb}{0.000000, 0.000000, 0.635294}
|
||
\definecolor{stringColor}{rgb}{0.558215, 0.000000, 0.135316}
|
||
\lstset{ %
|
||
backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}
|
||
basicstyle=\footnotesize\ttfamily, % 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=b, % sets the caption-position to bottom
|
||
commentstyle=\color{commentsColor}\textit, % 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=tb, % adds a frame around the code
|
||
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
|
||
keywordstyle=\color{keywordsColor}\bfseries, % keyword style
|
||
language=Python, % the language of the code (can be overrided per snippet)
|
||
otherkeywords={*,...}, % 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{commentsColor}, % 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{stringColor}, % string literal style
|
||
prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookrightarrow}},
|
||
tabsize=2, % sets default tabsize to 2 spaces
|
||
title=\lstname, % show the filename of files included with \lstinputlisting; also try caption instead of title
|
||
columns=fixed, % Using fixed column width (for e.g. nice alignment)
|
||
inputencoding=utf8, % https://tex.stackexchange.com/questions/24528/having-problems-with-listings-and-utf-8-can-it-be-fixed
|
||
literate={└}{{\smash{\raisebox{0.5ex}{\rule{0.5pt}{\dimexpr\baselineskip-1.5ex}}}\raisebox{0.5ex}{\rule{1ex}{0.5pt}}}}1 {─}{{\raisebox{0.5ex}{\rule{1.5ex}{0.5pt}}}}1 {├}{{\smash{\raisebox{-1ex}{\rule{0.5pt}{\baselineskip}}}\raisebox{0.5ex}{\rule{1ex}{0.5pt}}}}1,
|
||
}
|
||
|
||
%% Language definitions.
|
||
\lstdefinelanguage{rust}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{rs}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{console}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{\#},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{handlebars}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{shell}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{\#},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{json}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{yaml}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{toml}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{diff}{
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{JavaScript}{
|
||
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
|
||
ndkeywords={class, export, boolean, throw, implements, import, this},
|
||
sensitive=false,
|
||
comment=[l]{//},
|
||
morecomment=[s]{/*}{*/},
|
||
morestring=[b]',
|
||
morestring=[b]"
|
||
}
|
||
|
||
\lstdefinelanguage{text}{}
|
||
\lstdefinelanguage{hbs}{}
|
||
\lstdefinelanguage{cmd}{}
|
||
\lstdefinelanguage{powershell}{}
|
||
\lstdefinelanguage{makefile}{}
|
||
\lstdefinelanguage{markdown}{}
|
||
|
||
%% Title and Author (retreived from book.toml)
|
||
\title{}
|
||
\author{}
|
||
\date{}
|
||
|
||
%% Begin document.
|
||
\begin{document}
|
||
\maketitle
|
||
\clearpage
|
||
\tableofcontents
|
||
\clearpage
|
||
|
||
%% mdbook-latex begin
|
||
|
||
\end{document} |