moved from old git
This commit is contained in:
parent
3239ae5655
commit
6fd7025d15
|
@ -0,0 +1,281 @@
|
|||
############################################################################
|
||||
# Copyright 2009-2013 Benjamin Kellermann, John #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify it #
|
||||
# under the terms of the GNU General Public License as published by the #
|
||||
# Free Software Foundation, either version 3 of the License, or (at your #
|
||||
# option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, but #
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
|
||||
# General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License along #
|
||||
# with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||
############################################################################
|
||||
|
||||
############################################################################
|
||||
# This is a Makefile to compile LaTeX files #
|
||||
# try: make watch # requires inotifytools #
|
||||
# make watchtikz_<picturefile> #
|
||||
############################################################################
|
||||
|
||||
# the documents to be compiled by default
|
||||
#DOC=$(foreach i,$(shell grep -l documentclass *.tex), $(basename $i))
|
||||
DOC=datenschleuder98
|
||||
# if svgs should be compiled as pdf or png
|
||||
SVG_TARGET_EXT=pdf
|
||||
|
||||
# your favorite pdf viewer
|
||||
# (I recommend evince or okular as they update rebuilt pdfs automatically)
|
||||
#PDFVIEWER=evince
|
||||
PDFVIEWER=okular --unique
|
||||
|
||||
# the command to call latex, e.g. pdflatex or xelatex
|
||||
# LATEXCMD=xelatex -interaction=nonstopmode -synctex=1
|
||||
#
|
||||
#TEXMFHOME="/path/to/new/texmfhome:$(kpsewhich -var-value TEXMFHOME)"
|
||||
LATEXCMD=lualatex -interaction=nonstopmode -synctex=1
|
||||
|
||||
# (for automatic compiling .svg (inkscape) or .tex (pgf))
|
||||
PICDIR=bilder
|
||||
|
||||
# should the declaration \pgfrealjobname{} be checked?
|
||||
CHECKPGFREALJOBNAME=true
|
||||
|
||||
#shut the make up
|
||||
VERBOSE ?= @
|
||||
|
||||
PRINTF ?= printf
|
||||
|
||||
# all extensions which should be deleted with make clean
|
||||
TEXEXT=log aux toc synctex.gz synctex.gz\(busy\) pdfsync
|
||||
# hyperref
|
||||
TEXEXT+=out
|
||||
# bibtex
|
||||
TEXEXT+=bbl blg
|
||||
# thumbpdf
|
||||
TEXEXT+=tpt
|
||||
# makeindex
|
||||
TEXEXT+=ist
|
||||
# glossaries
|
||||
TEXEXT+=glo glg gls
|
||||
# latex-beamer
|
||||
TEXEXT+=nav snm
|
||||
# ntheorem
|
||||
TEXEXT+=thm
|
||||
# changebar
|
||||
TEXEXT+=cb2 cb
|
||||
# todonotes
|
||||
TEXEXT+=tdo
|
||||
# insdljs
|
||||
TEXEXT+=djs
|
||||
# vim-latexsuite
|
||||
TEXEXT+=tex.latexmain
|
||||
# other stuff, whereever it came from
|
||||
TEXEXT+=url ilg brf lof lot loc nav nlo snm idx
|
||||
|
||||
PIC=$(addsuffix .$(SVG_TARGET_EXT),$(basename $(wildcard $(PICDIR)/*.svg)))
|
||||
PIC+=$(foreach i,$(wildcard *.tex.erb),$(shell basename $i .erb))
|
||||
|
||||
TIKZPIC=$(addsuffix .pdf,$(foreach i,$(wildcard $(PICDIR)/*.tex),$(shell basename $i .tex)))
|
||||
|
||||
default: $(foreach i,$(DOC),$i.pdf)
|
||||
|
||||
$(PICDIR): $(PIC)
|
||||
|
||||
tikzpics: $(TIKZPIC)
|
||||
|
||||
$(DOC)_notes.pdf: $(DOC).pdf
|
||||
|
||||
STY=$(foreach i,$(wildcard *.dtx),$(shell basename $i .dtx).sty)
|
||||
|
||||
|
||||
build-dep: $(foreach i,$(DOC),build-dep_$i)
|
||||
build-dep_%:
|
||||
make $*.tex $(PIC)
|
||||
make $(STY)
|
||||
|
||||
%.pdf: %.tex $(wildcard *.tex) $(PIC) $(wildcard tikz/*.tikz) $(wildcard *.sty) $(STY)
|
||||
$(call checkForRunningProcess,$*)
|
||||
$(call checkForPGFrealjobname,$*)
|
||||
$(VERBOSE)$(LATEXCMD) $*
|
||||
make $*.bbl
|
||||
if [ "`grep makeglossaries *.tex`" ];then\
|
||||
make $*.gls;\
|
||||
fi
|
||||
$(VERBOSE) $(LATEXCMD) $*
|
||||
$(VERBOSE) $(LATEXCMD) $*
|
||||
|
||||
final: $(foreach i,$(DOC),$i_final.pdf)
|
||||
%_final.pdf: %.pdf
|
||||
$(call checkForRunningProcess,$*)
|
||||
make $*.tpt
|
||||
$(LATEXCMD) $*
|
||||
qpdf --linearize $*.pdf $*_tmp.pdf
|
||||
mv $*_tmp.pdf $*.pdf
|
||||
cp $*.pdf $*_final.pdf
|
||||
|
||||
clean:
|
||||
@rm -vf $(foreach ext,$(TEXEXT),*.$(ext))
|
||||
@rm -vf $(PIC) $(TIKZPIC) $(STY)
|
||||
@rm -vf $(foreach i,$(DOC),$i_notes.tex)
|
||||
|
||||
distclean: $(foreach i,$(DOC),distclean_$i)
|
||||
distclean_%: clean
|
||||
rm -f $(foreach ext,.pdf _notes.pdf,$*$(ext))
|
||||
|
||||
checkForRunningProcess = \
|
||||
@if [ -f /tmp/$(1)_watch.pid ];then\
|
||||
WATCHID=`cat /tmp/$(1)_watch.pid`;\
|
||||
if [ `ps --pid $$WATCHID|wc -l` = 2 ];then\
|
||||
$(PRINTF) "\033[31mThere is a \"make watch\" running!\033[0m\n";\
|
||||
return 1;\
|
||||
fi;\
|
||||
fi
|
||||
|
||||
ifeq ($(CHECKPGFREALJOBNAME),true)
|
||||
checkForPGFrealjobname = \
|
||||
@if [ "`grep pgfrealjobname *.tex`" ];then\
|
||||
PGFREALJOBNAMEOCCURED=false;\
|
||||
for PGFREALJOBNAME in `grep pgfrealjobname *.tex|cut -f2 -d\{|cut -f1 -d\}`; do\
|
||||
if [ "$$PGFREALJOBNAME" = "$*" ];then\
|
||||
PGFREALJOBNAMEOCCURED=true;\
|
||||
fi;\
|
||||
done;\
|
||||
if [ "$$PGFREALJOBNAMEOCCURED" = "false" ]; then\
|
||||
$(PRINTF) "\033[31m\\pgfrealjobname{} is set to a wrong value! I expected:\n\\pgfrealjobname{$*}\033[0m\n";\
|
||||
return 1;\
|
||||
fi;\
|
||||
fi
|
||||
else
|
||||
checkForPGFrealjobname =
|
||||
endif
|
||||
|
||||
cpTmp = \
|
||||
zcat $$COMPILEFILE.synctex.gz |sed -e 's!^Input:\([[:digit:]]*\):\([^/]\)!Input:\1:$(shell pwd)/\2!g'|gzip >/tmp/$(1).synctex.gz;\
|
||||
cp $$COMPILEFILE.pdf /tmp/$(1).pdf;\
|
||||
|
||||
ifeq ($(wildcard ~/texmf/),)
|
||||
ADDITIONALDIRS=
|
||||
else
|
||||
ADDITIONALDIRS=$(wildcard ~/texmf/)
|
||||
endif
|
||||
|
||||
watch: $(foreach i,$(DOC),watch_$i)
|
||||
watch_%: %.pdf
|
||||
$(call checkForRunningProcess,$*)
|
||||
$(PRINTF) $$PPID > /tmp/$*_watch.pid
|
||||
if [ `ls -l *.tex.latexmain|wc -l` != 1 ]; then\
|
||||
rm -fv *.tex.latexmain;\
|
||||
touch $*.tex.latexmain;\
|
||||
fi;\
|
||||
COMPILEFILE=`basename *.tex.latexmain .tex.latexmain`;\
|
||||
$(call cpTmp,$*)\
|
||||
if [ -z "`ps x |grep "$(PDFVIEWER) /tmp/$*.pdf" |grep -v grep`" ];then $(PDFVIEWER) /tmp/$*.pdf; fi&\
|
||||
while true; do\
|
||||
FILE=`inotifywait -r -e close_write --format="%w%f" --exclude '(/[^\\.]*\$$|\\.swp\$$|qt_temp\\..*)' . $(ADDITIONALDIRS) 2>/dev/null`;\
|
||||
EXT=`$(PRINTF) $$FILE|sed -e 's/^.*\.\([^.]*\)$$/\1/g'`;\
|
||||
FILEBASENAME=`basename $$FILE .$$EXT`;\
|
||||
LACHECK=false;\
|
||||
if [ `ls -l *.tex.latexmain|wc -l` = 1 ];then COMPILEFILE=`basename *.tex.latexmain .tex.latexmain`; fi;\
|
||||
case $$EXT in\
|
||||
tex)\
|
||||
if [ -f $${FILEBASENAME}_notes.tex ]; then make $${FILEBASENAME}_notes.tex; fi;\
|
||||
if [ "`$(PRINTF) $$FILE|grep '^\./$(PICDIR)/'`" != "" ]; then make $$FILEBASENAME.pdf; fi;\
|
||||
LACHECK=true;;\
|
||||
sty|cls) LACHECK=true;;\
|
||||
dtx)\
|
||||
make $$FILEBASENAME.sty;\
|
||||
LACHECK=true;;\
|
||||
pdf|png|jpg);;\
|
||||
bib)\
|
||||
bibtex $$COMPILEFILE;\
|
||||
$(LATEXCMD) $$COMPILEFILE;\
|
||||
LACHECK=true;;\
|
||||
svg) make $(PICDIR)/$$FILEBASENAME.$(SVG_TARGET_EXT);;\
|
||||
erb) make $$FILEBASENAME;;\
|
||||
*)\
|
||||
$(PRINTF) "$$FILE was modified and I don't know what to do!\n";\
|
||||
continue;;\
|
||||
esac;\
|
||||
/usr/bin/time -f "%e seconds needed for one compile round." -o /tmp/make_watch_duration $(LATEXCMD) $$COMPILEFILE;\
|
||||
if [ $$? -eq 0 ];then\
|
||||
if [ "`grep 'LaTeX Warning: Citation .* on page .* undefined' $$COMPILEFILE.log`" ];then\
|
||||
bibtex $$COMPILEFILE;\
|
||||
BIBTEX=true;\
|
||||
else\
|
||||
BIBTEX=false;\
|
||||
fi;\
|
||||
if [ "`grep 'pdfTeX warning (dest): name{glo:.*} has been referenced but does not' $$COMPILEFILE.log`" ];then\
|
||||
makeglossaries $$COMPILEFILE;\
|
||||
GLOSSARIES=true;\
|
||||
else\
|
||||
GLOSSARIES=false;\
|
||||
fi;\
|
||||
if [ $$BIBTEX = true -o $$GLOSSARIES = true ];then\
|
||||
$(VERBOSE) $(LATEXCMD) $$COMPILEFILE;\
|
||||
$(VERBOSE) $(LATEXCMD) $$COMPILEFILE;\
|
||||
fi;\
|
||||
if [ $$LACHECK = true ];then lacheck $$FILE; fi;\
|
||||
cat /tmp/make_watch_duration;\
|
||||
notify-send --expire-time=1000 --hint=int:transient:1 -a "LaTeX" "pdflatex compiled successfull" "`cat /tmp/make_watch_duration`";\
|
||||
if [ $$BIBTEX = true ];then $(PRINTF) "\033[33mI ran BibTeX, therefore compilation took a bit longer.\033[0m\n"; fi;\
|
||||
if [ $$GLOSSARIES = true ];then $(PRINTF) "\033[33mI ran makeglossaries, therefore compilation took a bit longer.\033[0m\n"; fi;\
|
||||
$(call cpTmp,$*)\
|
||||
else\
|
||||
if [ $$LACHECK = true ];then lacheck $$FILE; fi;\
|
||||
$(PRINTF) "\033[31mSOMETHING WENT WRONG, PLEASE CHECK THE CONSOLE!!!\033[0m\n";\
|
||||
notify-send --expire-time=1000 --hint=int:transient:1 "ERROR: pdflatex; Compilefile: $$COMPILEFILE";\
|
||||
fi;\
|
||||
done
|
||||
|
||||
watchtikz_%: %.pdf
|
||||
cp $< /tmp/
|
||||
if [ -z "`ps x |grep "$(PDFVIEWER) /tmp/$<" |grep -v grep`" ];then $(PDFVIEWER) /tmp/$<; fi&
|
||||
while true; do\
|
||||
inotifywait -r -e close_write --exclude '(/[^\\.]*\$$|\\.swp\$$)' $(PICDIR) 2>/dev/null;\
|
||||
$(LATEXCMD) --jobname=$* $(DOC);\
|
||||
if [ $$? -eq 0 ];then\
|
||||
cp $*.pdf /tmp/$<;\
|
||||
else\
|
||||
$(PRINTF) "\033[31mSOMETHING WENT WRONG, PLEASE CHECK THE CONSOLE!!!\033[0m\n";\
|
||||
fi;\
|
||||
done
|
||||
|
||||
.PHONY: default final clean distclean watch tikzpics $(PICDIR) build-dep
|
||||
|
||||
.SECONDARY:
|
||||
|
||||
%.sty: %.dtx %.ins
|
||||
rm -f $@
|
||||
$(LATEXCMD) $*.ins
|
||||
|
||||
%.tex: %.tex.erb *.rb
|
||||
erb $< >$@
|
||||
|
||||
%.bbl: %.aux $(wildcard *.bib)
|
||||
if test "`grep citation $*.aux`" -a "`grep 'bibliography{.*}' $*.tex`"; then bibtex $*; fi
|
||||
|
||||
%.tpt: %.pdf
|
||||
thumbpdf $<
|
||||
|
||||
%.gls: $(wildcard *.tex)
|
||||
makeglossaries $*
|
||||
$(LATEXCMD) $*
|
||||
makeglossaries $*
|
||||
|
||||
$(PICDIR)/%.pdf: $(PICDIR)/%.svg
|
||||
inkscape --export-pdf=$@ -T $<
|
||||
|
||||
%.pdf: $(PICDIR)/%.tex
|
||||
$(VERBOSE) $(LATEXCMD) --jobname=$* $(DOC)
|
||||
$(VERBOSE) $(LATEXCMD) --jobname=$* $(DOC)
|
||||
$(VERBOSE) $(LATEXCMD) --jobname=$* $(DOC)
|
||||
|
||||
$(PICDIR)/%.png: $(PICDIR)/%.svg
|
||||
inkscape --export-png=$@ -w1000 $<
|
||||
|
||||
$(PICDIR)/%_gray.png: $(PICDIR)/%.png
|
||||
convert -colorspace gray $< $@
|
|
@ -0,0 +1,103 @@
|
|||
\documentclass[%
|
||||
% draft,
|
||||
free,
|
||||
volume=98,
|
||||
year=2017
|
||||
]{datenschleuder}
|
||||
|
||||
%\usepackage{lipsum}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{wallpaper}
|
||||
%%% FIXME: als Keys für Paket angeben!
|
||||
\DSherausgeber{%
|
||||
\textbf{Herausgeber}\\
|
||||
(Abos, Adressen, Verwaltungstechnisches etc.)\\
|
||||
CCC e.V. Postfach 60 04 80, 22204 Hamburg,
|
||||
Tel.: +49 40 401801-0, Fax: +49 40 401801-41,
|
||||
\textit{<office@ccc.de>}
|
||||
}
|
||||
\DSredaktion{%
|
||||
\textbf{Redaktion}\\
|
||||
(Artikel, Leserbriefe, Inhaltliches, Geldspenden)\\
|
||||
Redaktion Datenschleuder,
|
||||
Postfach 64 02 36, 10048 Berlin,
|
||||
Tel.: +49 40 401801-44, Fax: +49 40 401801-54,
|
||||
\textit{<ds@ccc.de}
|
||||
}
|
||||
\DSdruck{%
|
||||
\textbf{Druck}\\
|
||||
Discordia Druck Dresden,\\
|
||||
\url{http://pinguindruck.de}
|
||||
}
|
||||
\DSvisdp{%
|
||||
\textbf{V.i.S.d.P}\\
|
||||
Eris Discordia
|
||||
}
|
||||
\addauthor{Eris Discordia, Knödel Dummbrot, Käsekrampen Beißer}
|
||||
|
||||
\setcounter{page}{-1}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\definecolor{IDpurple}{HTML}{C10171}
|
||||
\begin{DSTitlePage}[%
|
||||
fg=IDpurple,
|
||||
bg=yellow,
|
||||
price=$\frac{250}{10}$\,\euro
|
||||
]
|
||||
\includegraphics[width=\columnwidth]{bilder/ndesign.png}
|
||||
\begin{tikzpicture}[overlay,remember picture]
|
||||
\node[%
|
||||
rounded corners,
|
||||
draw,
|
||||
thick,
|
||||
rotate=20,
|
||||
text centered,
|
||||
text width=55mm,
|
||||
inner sep=5mm,
|
||||
above left=35mm and 8mm of current page.south east,
|
||||
font=\Huge\tt\bfseries,
|
||||
]{%
|
||||
\iffree%
|
||||
Free Software Edition
|
||||
\else%
|
||||
Proudly made with proprietary fonts
|
||||
\fi
|
||||
};%
|
||||
\end{tikzpicture}
|
||||
\end{DSTitlePage}
|
||||
|
||||
\DSFullImgPage[picturepuzzle,fg=IDpurple]{bilder/c64}
|
||||
|
||||
\begin{DSletters}
|
||||
\input{artikel/leserbriefe.tex}
|
||||
\end{DSletters}
|
||||
|
||||
\DSimpressum
|
||||
|
||||
\begin{figure}[bh!]
|
||||
\includegraphics[width=1\textwidth]{bilder/mightyjohn-cc-by-sa.jpg}
|
||||
\caption{mightyjohn warnt. cc-by-sa (via flickr)}
|
||||
\end{figure}
|
||||
|
||||
%aktuelle Schleuder
|
||||
\input{artikel/dieweltvonmorgen.tex}
|
||||
|
||||
%% alte schleuder, fuer doku zwecke
|
||||
%
|
||||
%\input{artikel/gendaten.tex}
|
||||
%
|
||||
%\input{artikel/homesweethome.tex}
|
||||
%
|
||||
%\input{artikel/tatort.tex}
|
||||
%
|
||||
%\input{artikel/torbridges.tex}
|
||||
%
|
||||
%%
|
||||
\DSFullImgPage{bilder/datenspuren}
|
||||
\DSFullImgPage{bilder/tattoo}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
||||
% vim: spelllang=de
|
Loading…
Reference in New Issue