Skip to content

Commit 2fed16a

Browse files
committed
Bug fixes and IntelliJ TeXify config
- changed documentation filename: closes #1 - updated GitHub Action accordingly - added IntelliJ run configurations
1 parent bf519d6 commit 2fed16a

10 files changed

+181
-37
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
.DS_Store
22
.vscode/
3+
.idea/
34
build/
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Assemble Documentation" type="ShConfigurationType">
3+
<option name="SCRIPT_TEXT" value="zsh .run/banner.sh" />
4+
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
5+
<option name="SCRIPT_PATH" value="" />
6+
<option name="SCRIPT_OPTIONS" value="" />
7+
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
8+
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
9+
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
10+
<option name="INTERPRETER_PATH" value="/bin/zsh" />
11+
<option name="INTERPRETER_OPTIONS" value="" />
12+
<option name="EXECUTE_IN_TERMINAL" value="false" />
13+
<option name="EXECUTE_SCRIPT_FILE" value="false" />
14+
<envs />
15+
<method v="2">
16+
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Compile Documentation Once" run_configuration_type="LATEX_RUN_CONFIGURATION" />
17+
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Make Documentation Indices" run_configuration_type="ShConfigurationType" />
18+
<option name="RunConfigurationTask" enabled="true" run_configuration_name="Compile Documentation" run_configuration_type="LATEX_RUN_CONFIGURATION" />
19+
</method>
20+
</configuration>
21+
</component>

.run/Build Documentation.run.xml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Compile Documentation" type="LATEX_RUN_CONFIGURATION" factoryName="LaTeX configuration factory">
3+
<texify>
4+
<compiler>PDFLATEX</compiler>
5+
<compiler-path />
6+
<sumatra-path />
7+
<pdf-viewer>BUILT-IN-PDF-VIEWER</pdf-viewer>
8+
<viewer-command />
9+
<compiler-arguments>-jobname elite</compiler-arguments>
10+
<envs />
11+
<main-file>$PROJECT_DIR$/docs/elite-docs-en.tex</main-file>
12+
<output-path>$PROJECT_DIR$/build/docs</output-path>
13+
<auxil-path>{projectDir}/auxil</auxil-path>
14+
<compile-twice>true</compile-twice>
15+
<output-format>PDF</output-format>
16+
<latex-distribution>TEXLIVE</latex-distribution>
17+
<has-been-run>true</has-been-run>
18+
<bib-run-config>[]</bib-run-config>
19+
<makeindex-run-config>[]</makeindex-run-config>
20+
</texify>
21+
<method v="2" />
22+
</configuration>
23+
</component>

.run/Build and Install.run.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Build and Install" type="ShConfigurationType">
3+
<option name="SCRIPT_TEXT" value="bash build.sh clean local" />
4+
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
5+
<option name="SCRIPT_PATH" value="" />
6+
<option name="SCRIPT_OPTIONS" value="clean local" />
7+
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
8+
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
9+
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
10+
<option name="INTERPRETER_PATH" value="/bin/zsh" />
11+
<option name="INTERPRETER_OPTIONS" value="" />
12+
<option name="EXECUTE_IN_TERMINAL" value="false" />
13+
<option name="EXECUTE_SCRIPT_FILE" value="false" />
14+
<envs />
15+
<method v="2" />
16+
</configuration>
17+
</component>

.run/Clean Build Directory.run.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Clean Build Directory" type="ShConfigurationType">
3+
<option name="SCRIPT_TEXT" value="bash build.sh clean" />
4+
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
5+
<option name="SCRIPT_PATH" value="" />
6+
<option name="SCRIPT_OPTIONS" value="" />
7+
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
8+
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
9+
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
10+
<option name="INTERPRETER_PATH" value="/bin/zsh" />
11+
<option name="INTERPRETER_OPTIONS" value="" />
12+
<option name="EXECUTE_IN_TERMINAL" value="false" />
13+
<option name="EXECUTE_SCRIPT_FILE" value="false" />
14+
<envs />
15+
<method v="2" />
16+
</configuration>
17+
</component>

.run/banner.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env zsh
2+
clear
3+
echo -e "\e[30m "
4+
echo -e "\e[35m ____ __ ________ ____ "
5+
echo -e "\e[35m / __ )/ / / / _/ / / __ \ "
6+
echo -e "\e[35m / __ / / / // // / / / / / "
7+
echo -e "\e[35m / /_/ / /_/ // // /___/ /_/ / "
8+
echo -e "\e[35m ___________ _/_____/\____/___/_____/_____/ "
9+
echo -e "\e[35m / ____/ _/ | / / _/ ___// / / / ____/ __ \ "
10+
echo -e "\e[35m / /_ / // |/ // / \__ \/ /_/ / __/ / / / / "
11+
echo -e "\e[35m / __/ _/ // /| // / ___/ / __ / /___/ /_/ / "
12+
echo -e "\e[35m /_/ /___/_/ |_/___//____/_/ /_/_____/_____/ "
13+
echo -e "\e[30m "

build.sh

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,47 @@
33
ORIGINAL_WORKDIR=$(pwd)
44

55
# change directory to location of script
6-
BASEDIR=$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )
7-
cd $BASEDIR
6+
BASE_DIR=$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )
7+
cd $BASE_DIR
88

99
TEXMFHOME=$(kpsewhich -var-value TEXMFHOME)
1010
TEXMFMAIN=$(kpsewhich -var-value TEXMFMAIN)
1111

12+
SOURCE_DIR=$BASE_DIR/src
13+
DOCS_SOURCE_DIR=$BASE_DIR/docs
14+
15+
BUILD_DIR=$BASE_DIR/build
16+
BUILD_DOCS_DIR=$BUILD_DIR/docs
17+
18+
CLASS_NAME=elite
19+
DOCS_SOURCE=$CLASS_NAME-docs-en.tex
20+
1221
function clean_build_dir {
1322
# try to remove and redirect error messages to /dev/null
1423
rm -r ./build/ 2> /dev/null
1524
}
1625

1726
function assemble {
18-
mkdir -p $BASEDIR/build/
19-
echo -n "" > $BASEDIR/build/elite.cls
27+
mkdir -p $BUILD_DIR/
28+
echo -n "" > $BUILD_DIR/$CLASS_NAME.cls
2029

2130
if [ $GITHUB_SHA ]
2231
then
23-
echo "% Auto-built by GitHub Actions" >> $BASEDIR/build/elite.cls
24-
echo "% Latest Commit-Hash: $GITHUB_SHA" >> $BASEDIR/build/elite.cls
32+
echo "% Auto-built by GitHub Actions" >> $BUILD_DIR/$CLASS_NAME.cls
33+
echo "% Latest Commit-Hash: $GITHUB_SHA" >> $BUILD_DIR/$CLASS_NAME.cls
2534
fi
2635

27-
cd $BASEDIR/src/
36+
cd $SOURCE_DIR/
2837
for STYFILE in *.sty
2938
do
3039
STYCONTENT=$(cat ${STYFILE})
3140
echo_safe_filecontents $STYFILE "$STYCONTENT"
3241
done
33-
cd $BASEDIR
42+
cd $BASE_DIR
3443

35-
echo "" >> $BASEDIR/build/elite.cls
36-
cat $BASEDIR/src/elite.cls >> $BASEDIR/build/elite.cls
44+
echo "" >> $BUILD_DIR/$CLASS_NAME.cls
45+
echo $CLASS_NAME
46+
cat $SOURCE_DIR/$CLASS_NAME.cls >> $BUILD_DIR/$CLASS_NAME.cls
3747
}
3848

3949
function echo_safe_filecontents {
@@ -50,42 +60,44 @@ function echo_safe_filecontents {
5060
#$FILECONTENTS
5161
#\end{filecontents}
5262
#\fi\endgroup
53-
#" >> $BASEDIR/build/elite.cls
63+
#" >> $BUILD_DIR/${CLASS_NAME}.cls
5464

5565
echo "%
5666
% External File: $FILENAME
5767
%
5868
\begin{filecontents}[overwrite]{$FILENAME}
5969
$FILECONTENTS
6070
\end{filecontents}
61-
" >> $BASEDIR/build/elite.cls
71+
" >> $BUILD_DIR/$CLASS_NAME.cls
6272
}
6373

6474
function build_docs {
65-
mkdir -p $BASEDIR/build/docs/
66-
cd $BASEDIR/docs
67-
pdflatex -halt-on-error -output-directory $BASEDIR/build/docs $BASEDIR/docs/elite.tex
68-
cd $BASEDIR
75+
mkdir -p $BUILD_DOCS_DIR/
76+
cd $DOCS_SOURCE_DIR
77+
pdflatex -halt-on-error -output-directory $BUILD_DOCS_DIR -jobname $CLASS_NAME $DOCS_SOURCE_DIR/$DOCS_SOURCE
78+
cd $BUILD_DOCS_DIR
79+
_temp=$(makeindex *.idx)
80+
cd $BASE_DIR
6981
}
7082

7183
function install_local {
72-
mkdir -p ${TEXMFHOME}/tex/latex/elite
73-
install -m 0644 ${BASEDIR}/build/elite.cls ${TEXMFHOME}/tex/latex/elite/elite.cls
84+
mkdir -p ${TEXMFHOME}/tex/latex/$CLASS_NAME
85+
install -m 0644 ${BASE_DIR}/build/$CLASS_NAME.cls $TEXMFHOME/tex/latex/$CLASS_NAME/$CLASS_NAME.cls
7486
}
7587

7688
function install_docs_local {
77-
mkdir -p ${TEXMFHOME}/doc/latex/elite
78-
install -m 0644 ${BASEDIR}/build/docs/elite.pdf ${TEXMFHOME}/doc/latex/elite/elite.pdf
89+
mkdir -p ${TEXMFHOME}/doc/latex/$CLASS_NAME
90+
install -m 0644 ${BASE_DIR}/build/docs/$CLASS_NAME.pdf ${TEXMFHOME}/doc/latex/$CLASS_NAME/$CLASS_NAME.pdf
7991
}
8092

8193
function install_global {
82-
mkdir -p ${TEXMFMAIN}/tex/latex/elite
83-
install -m 0644 ${BASEDIR}/build/elite.cls ${TEXMFMAIN}/tex/latex/elite/elite.cls
94+
mkdir -p ${TEXMFMAIN}/tex/latex/$CLASS_NAME
95+
install -m 0644 ${BASE_DIR}/build/$CLASS_NAME.cls ${TEXMFMAIN}/tex/latex/$CLASS_NAME/$CLASS_NAME.cls
8496
}
8597

8698
function install_docs_global {
87-
mkdir -p ${TEXMFMAIN}/doc/latex/elite
88-
install -m 0644 ${BASEDIR}/build/docs/elite.pdf ${TEXMFMAIN}/doc/latex/elite/elite.pdf
99+
mkdir -p ${TEXMFMAIN}/doc/latex/$CLASS_NAME
100+
install -m 0644 ${BASE_DIR}/build/docs/$CLASS_NAME.pdf ${TEXMFMAIN}/doc/latex/$CLASS_NAME/$CLASS_NAME.pdf
89101
}
90102

91103
#
@@ -154,7 +166,7 @@ do
154166
echo_help
155167
;;
156168
*)
157-
buildprocedure_${SUBCOMMAND}
169+
buildprocedure_$SUBCOMMAND
158170
if [ $? = 127 ]; then
159171
echo "Error: '$SUBCOMMAND' is not a known build procedure." >&2
160172
echo " Run '$BASENAME --help' for a list of known subcommands." >&2

docs/elite.tex renamed to docs/elite-docs-en.tex

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
\usepackage[utf8]{inputenc} % Sonderzeichen ermöglichen
1111
\usepackage{blindtext}
12+
\usepackage{csquotes}
13+
\usepackage{amsfonts}
1214

1315
% \usepackage[a4paper, margin=1in]{geometry}
1416

@@ -32,6 +34,7 @@
3234
\newpage
3335

3436
\section{General}
37+
\label{sec:general}
3538

3639
\begin{itemize}
3740
\item \code{\textbackslash{}tableofcontents}: print table of contents
@@ -55,6 +58,7 @@ \section{General}
5558
\end{itemize}
5659

5760
\section{Overview of all Font Sizes}
61+
\label{sec:overview-of-all-font-sizes}
5862

5963
\begin{tabular}{rl}
6064
\code{tiny} & {\tiny tiny} \\
@@ -75,6 +79,7 @@ \subsubsection*{Sub-Sub-Section}
7579
\paragraph*{Paragraph}
7680

7781
\section{Elite Definitions}
82+
\label{sec:elite-definitions}
7883

7984
\definition{Definition}{%
8085
A definition is created with the command \texttt{\textbackslash{}definition\{\textit{name}\}\{\textit{content}\}}.
@@ -96,11 +101,13 @@ \section{Elite Definitions}
96101
\newpage
97102

98103
\section{Include Graphics and Figures}
104+
\label{sec:include-graphics-and-figures}
99105

100106
There are multiple ways to include images and figures inside of your doument.
101107
When drawing attention towards an image, you should use the \code{\textbackslash{}fig} command:
102108

103109
\subsection{Regular Figures}
110+
\label{subsec:regular-figures}
104111

105112
\fig[width=0.5\linewidth]{Prof. Dr. Thomas Worsch}{./worsch}
106113

@@ -109,6 +116,7 @@ \subsection{Regular Figures}
109116
\end{CodeListing}
110117

111118
\subsection{Wrapfigures}
119+
\label{subsec:wrapfigures}
112120

113121
\wrapfig[11]{r}{0.25\textwidth}{Thomas Worsch}{./worsch}
114122

@@ -130,6 +138,7 @@ \subsection{Wrapfigures}
130138

131139

132140
\section{Algorithms and Code Segments}
141+
\label{sec:algorithms-and-code-segments}
133142

134143
When writing algorithms or other code-listings, you might want to move the whole block to the
135144
next page if there are page breaks inbetween your lines of code.
@@ -165,6 +174,7 @@ \section{Algorithms and Code Segments}
165174
\section*{Code-Listing lanuage highlight examples}
166175

167176
\subsection{language=pseudocode}
177+
\label{subsec:language=pseudocode}
168178

169179
\begin{CodeListing}[language=pseudocode]
170180
Function test(a: $\mathbb{N}$) {
@@ -177,6 +187,7 @@ \subsection{language=pseudocode}
177187
\end{CodeListing}
178188

179189
\subsection{language=java}
190+
\label{subsec:language=java}
180191

181192
\begincode
182193
\begin{CodeListing}[language=java, caption=Beispiel-Code]
@@ -189,8 +200,10 @@ \subsection{language=java}
189200
\endcode
190201

191202
\subsection{language=80x86}
203+
\label{subsec:language=80x86}
192204

193205
\begincode
206+
%! suppress = LineBreak
194207
\begin{CodeListing}[language=80x86, title=Intel 80x86 Assembler Beispiel]
195208
push ebp ; save calling function's stack frame (ebp)
196209
mov ebp, esp ; make a new stack frame on top of our caller's stack
@@ -199,10 +212,12 @@ \subsection{language=80x86}
199212
\endcode
200213

201214
\subsection{language=clang}
215+
\label{subsec:language=clang}
202216

203217
\begincode
218+
%! suppress = EscapeHashOutsideCommand
204219
\begin{CodeListing}[language=clang, title=Example C-Code]
205-
#include <stdlio.h>
220+
#include <stdio.h>
206221

207222
// This is a hello-world program in C
208223
int main(int argc, char** argv)
@@ -214,6 +229,7 @@ \subsection{language=clang}
214229
\endcode
215230

216231
\subsection{language=riscv}
232+
\label{subsec:language=riscv}
217233

218234
\begincode
219235
\begin{CodeListing}[language=riscv, title=Example RISC-V Assembler]
@@ -227,7 +243,11 @@ \subsection{language=riscv}
227243
\end{CodeListing}
228244
\endcode
229245

230-
\printindex
246+
\printindices
247+
248+
\defwarn{Please Note}{that the index might split a definition over two columns. This can be avoided by inserting
249+
a \code{\textbackslash{}filbreak} at the top of the index element definition. Since this has some side effects if
250+
the definitions are too short, we chose not to do that here.}
231251

232252
\lstlistoflistings
233253
\listoffigures

src/elite-definitions.sty

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
\NeedsTeXFormat{LaTeX2e}
22
\ProvidesPackage{elite-definitions}[2021/08/03 Elite-Definitions]
33

4+
\RequirePackage{xcolor}
5+
46
\setlength{\changebarsep}{10pt}
57
\setlength{\changebarwidth}{2pt}
68

@@ -12,11 +14,10 @@
1214
% 5: Content
1315
\newcommand{\abstractDefinition}[5]{
1416
\noindent
15-
\parbox[t]{\textwidth}{
16-
#2$\:$
17+
\parbox[t]{\linewidth}{
18+
#2{ } %$\:$
1719
\textbf{\textcolor{#3}{#4}}
1820
\cbstart
19-
%(\textit{#2})
2021
\cbcolor{#3}
2122
#5 \par
2223
\cbend
@@ -25,11 +26,10 @@
2526
\par % End the line
2627
}
2728

28-
2929
\newcommand{\definition}[3][1]{
3030
\abstractDefinition{#1}{\faArchive}{kit-blue}{#2}{#3}
3131
% Stichwortverzeichnis am Ende erzeugen.
32-
\index{
32+
\index[definition]{
3333
\vspace{0.2cm}
3434
\hspace*{-0.5cm}
3535
\underline{\textsc{#2}}\\

0 commit comments

Comments
 (0)