Inhalt des Dokuments
zur Navigation
Tools Seminar
The Tools Seminar provides an opportunity for scientists and students to exchange their experience and knowledge about certain tools with colleagues and fellow students. The term tool is understood in a broad sense ranging from tools to write scientific texts and mathematical software to even more general issues like how to give a good presentation. Everybody's welcome to participate and/or to give a talk. Below you can find the current schedule, topics and materials of past and upcoming meetings.
This Website is no longer updated. Latest information and announcements regarding the tools seminar can be found on the blog of the SIAM student chapter of TU Berlin and WIAS.
Tools Seminar
Organizers: | P. Schulze, (C. Gamst) |
---|---|
Dates: | Monday, 4:00 pm, in MA 464 |
Content: | Seminars, introductions, and discussion on some of the less-known tools that make our life easier when we write scientific texts and software. If you wish to suggest a topic or to give a talk, please contact the organizers. |
Scope: | Collecting, sharing and discussing things that are good to know, the seminar is addressed to everybody who writes scientific texts and code, so to both teachers and students. |
Here you find a tentative program with a preview of the themes, and (when they will be available...) slides with templates and code snippets to download. |
Date | Speaker | Title |
---|---|---|
18.01.16 | Daniel Bankmann | Biblatex >> Bibtex [more] |
planned topics | Benjamin Unger | English Comma Rules |
Previous Talks in Series 2015/2016 | ||
14.12.15 | Christian Schröder, Benjamin Unger, Matthias Voigt | LaTeX Tweaks I [more] |
23.11.15 | Lia Strenge | Gnuplot and Linux Shell scripts for automatizing simulation and plotting [more] |
Previous Series 2015 | ||
22.6.15 | Benjamin Unger | What is a GAMM/SIAM student chapter and why should I join? [more] |
8.6.15 | Lydia Krott | Ausgewählte Themen des Wissenschaftlichen Schreibens in der Mathematik (held in German) [more] |
1.6.15 | Philipp Schulze | Matlab Tweaks III - Symbolic Math Toolbox [more] |
11.5.15 | Benjamin Unger | Matlab Tweaks II - The Profiler [more] |
27.4.15 | Sarosh Quraishi | Common design patterns used in scientific software [more] |
Previous Series 2014/15 | ||
2.3.15 | Robert Altmann | TikZ [more] |
23.2.15 | Christoph Conrads | Working Remotely: Secure Shell, Grid Engine and Screen [more] |
12.1.15 | Philipp Schulze, Jeroen Stolwijk | Matlab tweaks - Part 1 [more] |
15.12.14 | Daniel Bankmann, Benjamin Unger | Documentation with Doxygen [more] |
8.12.14 | everyone | Code review session [more] |
1.12.14 | Philipp Schulze, Cornelia Gamst | Literature and citation management [more] |
24.11.14 | Alexandra Mehlhase | Introduction to Modelica [more] |
17.11.14 | Benjamin Unger | Principles of software development [more] |
3.11.14 | Sarosh Quraishi | Personalising your vim settings [more] |
27.10.14 | Christian Schröder | Automatisation with make files [more] |
20.10.14 | Christoph Conrads, Cornelia Gamst | git [more] |
13.10.14 | Cornelia Gamst | Using the unix shell efficiently [more] |
Previous Series 2012/13 | ||
25.02.13 | André Gaul, Jan Heiland and Nico Schlömer | git and github - work like a pro! [more] |
28.01.13 | Nico Schlömer | HTML5: the future of presentations [more] |
14.01.13 | Federico Poloni | Bring your own preamble! [more] |
10.12.12 | Zhuo-Fei Hui and Jan Heiland | Reference management [more] |
03.12.12 | André Gaul, Jan Heiland and Nico Schlömer | Hands on Python [more] |
26.11.12 | Nico Schlömer | Fenics - A free software package for solving PDEs with ease [more] |
19.11.12 | Wolfgang Welz | APIs for Parallel Programming II |
12.11.12 | Wolfgang Welz | APIs for Parallel Programming I [more] |
Previous Series 2012 | ||
05.07.12 | Georg Fuss | mex files |
13.06.12 | André Gaul | Scientific computing basics in Python [more] |
07.06.12 | Jan Heiland | Hands on Paraview [more] |
16.02.12 | Everyone! | Smart and dirty: Latex tricks and code snippets evening, feat. inverse search for Okular and Kile or Vim [more] |
09.02.12 | Jan-Philipp Kappmeier | How to TikZ? [more] |
02.02.12 | Federico Poloni | Matlab Unit Tests [more] |
26.01.12 | André Gaul vs. Federico Poloni | git -- how to work on code/text/files in a team [more] |
12.01.12 | Jan Heiland | Correct and efficient citation management with Latex, Bibtex, Jabref and the Internet [more] |
Biblatex >> Bibtex
January 18. 2016, Daniel Bankmann
Dealing with bibliographies and its formatting is a daily task in scientific writing. Usually, the tool bibtex in conjunction with various add-ons (e.g. natbib, jurabib, bibunits) is used. However, adapting the appearance beyond predefined style files is usually tricky.
In this talk I will present biblatex, a modern and powerful tool which combines all the advantages of bibtex and allows for user-friendly LaTex based formatting of the bibliography.
If you had some problems you were not able to solve with bibtex, please contact me in advance; I am quite sure we will find a solution with biblatex.
LaTeX Tweaks I
December 14. 2015, Christian Schröder, Benjamin Unger, Matthias Voigt
There is no doubt that LaTeX (or one of its variants) is the standard for scientific documentation in mathematics. In this talk we like to present some tricks and packages that might be helpful. Amongst other things, we plan to talk about the packages todonotes, showkeys and hyperref and the tools matlab2tikz and latexdiff.
Gnuplot and Linux Shell scripts for automatizing simulation and plotting
November 23. 2015, Lia Strenge
I demonstrate the advantages of Gnuplot [1] as powerful easy-to-use plotting tool and how simulation and plotting can be automatized using Linux shell scripts [2]. In order to do that, I go through the code of my Master thesis as illustrative example and show you where to find more examples.
In my thesis, I changed parameters in c-files used by the differential-algebraic equation (DAE) solver QUALIDAES, created a folder structure for the simulation results and plotted the states over time using one shell script.
More info, e.g.:
[1] http://gnuplot.info/
[2] http://www.freeos.com/guides/lsst/ch02sec01.html
What is a GAMM/SIAM student chapter and why should I join?
June 22. 2015, Benjamin Unger
We are in the process of founding a joint GAMM/SIAM student chapter [1] together with the Weierstrass Institute for Applied Analysis and Stochastics (WIAS) in the near future. Both, GAMM and SIAM encourage PhD and master students to get together, engage in activities and network with other student chapters in Germany and around the world. We plan for example to attend the 4th Symposium of the German SIAM student chapters this late August in Trier [2]. Other activities involve trips to industry and social activities. Moreover, the idea of the chapter is to foster an exchange between the different fields of math, physics, mechanics and related subjects and everybody is welcome to join. GAMM and SIAM sponsor the chapter financially and with free memberships each.
If you are interested in beeing part of the chapter or even want to get involved in organizing some activities, this seminar is the right place to start. We first introduce the idea of a student chapter in more detail, get to know each other and may start planning some first activities.
[1] http://www.siam.org/students/chapters/
[2] http://siamsymposium.uni-trier.de/
Material:
Ausgewählte Themen des Wissenschaftlichen Schreibens in der Mathematik
June 08. 2015, Lydia Krott
In diesem Vortrag werden Tipps zum Verfassen von akademischen Qualifikationsschriften (Dissertation, Masterarbeit, ...) in der Mathematik gegeben. Besondere Aufmerksamkeit erhalten die Gliederung sowie das sprachliche Einbinden von Quellen. Die im Rahmen der Schreibforschung am Schreiblabor des House of Competence am Karlsruher Institut für Technologie ermittelten Standardgliederungen werden vorgestellt und in Bezug zur Mathematik gesetzt. Zudem werden aktuelle Forschungsergebnisse zum Paraphrasieren, also dem sprachlichen Einbinden von Quellen, präsentiert. Im Anschluss an den Vortrag ist Zeit für spezifische und allgemeine Fragen zum wissenschaftlichen Schreiben. Bis Samstag können zudem spezielle Themenwünsche per Email gestellt werden.
Der Vortrag richtet sich sowohl an Doktoranden als auch an Masterstudierende, die gerade an ihrer Abschlussarbeit arbeiten oder in Kürze damit anfangen. Die Vortragssprache ist deutsch.
Matlab Tweaks III - Symbolic Math Toolbox
June 01. 2015, Philipp Schulze
The Symbolic Math Toolbox enables Matlab users to perform various kinds of symbolic computations. In this talk I will introduce the main features of this toolbox and will give a rough overview of its functionalities. Its power shall be demonstrated by means of some simple examples including a parameterized eigenvalue problem and the symbolic treatment of a system of differential-algebraic equations.
Matlab Tweaks II - The Profiler
May 11. 2015, Benjamin Unger
The MATLAB profiler is a powerful tool to understand existing code and find its bottlenecks concerning time and memory consumption. In this talk I will touch on the different possibilities to measure performance in MATLAB, explain how the profiler helps you understanding code and give you some insights in code optimization, including preallocation, data accessing and pass by value vs. pass by reference.
Material:
Common design patterns used in scientific software
Apr 27. 2015, Sarosh Quraishi
I will talk about design patterns and why people use them in designing scientific software. We all face with the problem of software getting unmaintainable at some point of time. As the disorder or complexity of a software increases over the period of time, it is essential that it is build on solid ground (foundation). That foundation could be provided by so called design patterns. I will explain what a design pattern is and how it could build strong foundation for planning software project, as well as some real world examples of design patterns that I find interesting.
Links:
TikZ
Mar 2. 2015, Robert Altmann
Introduction to TikZ ist kein Zeichenprogramm.
We will learn how to draw a picture with TikZ.
Material:
Working Remotely: Secure Shell, Grid Engine and Screen
Feb 23. 2015, Christoph Conrads
In this talk I present common programs for working on computers other than the machine connected to the mouse and keyboard in front of you.
SSH is a standard program to create a secure connection to other computers. It
provides a shell, allows programs with a GUI to be started, and manages the
details of the secure communication. The talk will be also interesting to those
who use SSH only implicitly, e.g. by using Git.
Grid Engine is a program library for cluster management and I will show how to
submit jobs to the computer cluster of the mathematics department.
Screen will be introduced because of its persistent shell sessions. That is, you
can connect from computer A to computer S and work in a Screen shell. Later you disconnect A from S and connect from computer B to S and you can continue to work in the /same/ shell on S.
Material:
Matlab tweaks - Part 1 (Startup Files and Debugging)
Jan 12. 2015, Philipp Schulze, Jeroen Stolwijk
Matlab is one of the most common software packages in all fields related to numerical mathematics. It is mostly used for numerical simulation and for data handling and is applied in science and in industry. One of the great advantages of Matlab is the intuitive, mathematically oriented syntax which leads to a short settling-in period for the user.
Even if nearly everybody developing numerical software is able to use Matlab there are a lot of less common utilities helping to use Matlab in a more efficient way. This motivates for the tools seminar series “Matlab tweaks” which aims to give a better insight into these less known utilities having the potential to ease working with Matlab.
In the first session of “Matlab tweaks” we will give a short introduction to startup files, which can be used to automatically execute frequently used commands. Also, we will discuss how to remove whitespace around subplots. Furthermore, we present the debugging utilities supported in Matlab.
Material:
Documentation with Doxygen
Dec 15. 2014, Daniel Bankmann, Benjamin Unger
Documentation is an important task in software development. However, people tend to neglect updating or even creating proper documentation and once the documentation is outdated, its creation is a nasty task. Comments in the code are updated more frequently and the idea is to keep documentation and code in the same file. Doxygen is a popular tool to create documentation from source files. Moreover it provides visualisation of inheritances between different parts of code. In this session we give a hands-on instruction for Doxygen in combination with Fortran and Matlab.
If you want to follow along the examples, bring a laptop with Doxygen and (mtoc++ for Matlab support) installed (see installation instructions).
Materials:
Code review session
Dec 8. 2014, everyone, bring some code to review
In this hands-on session we will try to actually apply some of the coding principles from previous sessions to some of the codes we are willing to share in the seminar.
If you have some functioning code that you are not quite happy with, bring it along and we will try to work out possibilities for refactoring or implementing tests and making your code more readable, reliable and reusable. Any language is welcome, as most of the principles are content-oriented and independent of the programming language.
If this session works out well and there is continuing interest, we might repeat it in the future.
Literature and citation management
Dec 1. 2014, Philipp Schulze, Cornelia Gamst
We will in particular present the open source tools JabRef and Zotero and their specific features, but we would be happy if anyone wants to join in and present their favourite tool as well.
See also the materials from the previous sessions on JabRef and Mendeley.
Links:
- installing JabRef
- installing Zotero
- useful Zotero plugins
Material:
Introduction to Modelica
Nov 24. 2014, Alexandra Mehlhase
Modelica is an object-oriented modeling language for continuous system modeling with differential-algebraic equations.
In this talk I will give a basic introduction to modeling with Modelica
- Modeling with Modelica classes
- Equations in Modelica: Event handling, If-statements, Arrays
- Basic examples
Depending on the knowledge and various interests of the attendees I will go deeper into some parts or keep everything hight level. We can decide that on the fly.
If you want you can install OpenModelica or the Demo Version of Dymola to be able to implement the examples.
Principles of software development
Nov 17. 2014, Benjamin Unger
Programming is one part of applied mathematics. While the scientific math community mainly writes algorithms, mathematicians in companies develop complete software packages (Modelica, Matlab, Mathematica, OpenFOAM, AMESim, optiSLang, \ldots). In this talk I will touch on some general principles in software development, namely
- user vs. functional specification,
- software architecture,
- unit tests and test driven development (TDD),
- coding principles.
Bring a laptop with Matlab R2013a or newer to try the unit testing framework along the way.
Materials:
Personalizing your vim settings
Nov 3. 2014, Sarosh Quraishi
Some of the great power of the text editor vim lies in the many ways in which settings can be personalized to make things you often do and use really easy. We will show how to implement some useful settings with examples of some of our personal preferences. Bring a laptop with vim and the example materials below to try out some things along the way.
Links:
- Example .vimrc files, some of which will be covered in the session
Automatisation with makefiles
Oct 27. 2014, Christian Schröder
Makefiles are a useful tool for automatising repetitive workflows to produce software or documents that depend on code or data that often changes. We will demonstrate how to create your own makefiles using an example workflow of Matlab data, Gnuplot plots and LaTeX documents. The example files will be available here during the session, but you should check that you have Matlab/Octave, gnuplot, pdflatex and pdftk installed on your laptops in order to try out the examples.
Links:
- Make tutorial by Software Carpentry
Material:
- Zip file with example Makefile and code used in the session
Using the unix shell efficiently
Oct 13. 2014, Cornelia Gamst
We will introduce some basic commands for the unix shell that make life easier moving around your projects every day. It would be great, if everyone could share their favorite, most useful commands previous to and during the seminar, so we can make a collection of useful little helpers.
Links:
- Please use this pad if you want to share your favorite useful shell commands.
- Unix shell tutorial by Software Carpentry
- Linux auf einem Blatt
Materials:
- shell history file from the session
- .Xmodmap file for german umlaute (check keycodes with xev)
git and github - work like a pro!
Oct 20. 2014, Christoph Conrads, Cornelia Gamst
Links:
- Slides
- Git cheatsheet from github
- Example .gitignore file for LaTeX projects
- Git for Windows: online guide and package download
Feb 25. 2013, André Gaul, Jan Heiland and Nico Schlömer
Ever wrote a piece of code or a paper? Did you use git? If the answer is 'no' it's time to change this horrible situation! Git and hosted services like github help you to coordinate your daily work on all kind of projects - no matter if you work alone or in a big team. We show you how we use git in our work.
Also check the abstract and materials from the previous git session.
Links:
HTML5 - the future of presentations
Jan 28th, Nico Schloemer
The beamer presentation realm is nowadays pretty much divided between MS PowerPoint plus its derivatives, and Beamer for the LaTeX-aficionados. The latter is particularly popular in the field of sciences for its easy integration with math formulas.
That the resulting PDF format was never actually intended for purely electronic usage gives rise to a number of disadvantages of this approach:
- the document creation process is error-prone
- compiling the document might a take long time
- the output is entirely inflexible, i.e., can hardly be displayed on smaller screens
- can hardly integrate other media (e.g., "movies")
- ...
In the past few years, a new way of creating presentations has emerged from the computer science community: HTML5. Unlike its predecessors, HTML5 is a scripting language not only intended for websites, but all kinds of applications.
This seminar will present one or two common presentation templates for HTML5 and show how you can integrate you LaTeX code in it. If you want to have something shiny for your next presentation, this seminar is for you.
Feel free to examine the slides of the seminary directly in your browser (use the arrow keys!) or check out or download the sources from github.
Bring your own preamble!
Jan 14th, Federico Poloni
We all started using LaTeX by copying someone else's .tex files and starting to hack our stuff in.
This is great at first, but then one enters mode "if it works, don't change anything".
The preamble, in particular, is where the most old cruft piles up.
This will be more a round-table discussion than a seminar. We'll open a few real-world LaTeX files, and try to explain what every \usepackage does and which ones are today considered good or bad to use.
You are encouraged to bring your own preambles on a USB stick. If there's something inside that none of us can figure out, well, it will be a good moment to explain how to look up package documentation files.
And the take-home-message is: There can be strange interaction between packages - make sure you know what the packages do, that you have included.
Use '$ texdoc [yourpackage] ' in the shell to browse the package documentation.
Some lines you may want to include:
\usepackage[T1]{fontenc} % specify the format
% of the latex outcomes
\usepackage{lmodern} % zoom to 2000% and
% you see what it is for
\usepackage[utf8]{inputenc} % specify the format of the input
\usepackage{microtype} % improves the outcome
% typographically
% .... some more if you wish
\usepackage{hyperref} % for internal and external links
% put at the end, it interferes
% with other packages
Reference Management
Dec 10th, Zhuo-Fei Hui and Jan Heiland
Working as an academic, we have to read lots of papers. Without some kind of an organizing system, one can end up going trough piles of papers or tonnes of cryptically named PDFs in trying to find a certain reference.
"Mendeley is a free reference manager and academic social network..." (source: www.mendeley.com) In this seminar we will give you a brief introduction to some of Mendeley's features and compare it with a few other reference management tools. As in particular...
... JabRef (see the last year's talk) which is a universal tool with a GUI for managing bibtex files efficiently in things like merging, cleaning up, importing and forking.
In the end we would like to invite you to tell us which reference management tool, app or gadget you are using and share your experiences with us.
Slides on Mendeley.
Last year's session on citing and JabRef
Hands on Python
Dec 3rd, various artists
Python is a universal programming language. It is is easy to read and write and is highly extensible through thousands of modules. Particularly, the modules "numpy" and "scipy" provide scientific computing functionality (similar to MATLAB's) in Python. Python is free software (free as in freedom) and allows you to write clean, maintainable, portable, efficient and extensible code (even C-code can be integrated easily).
We will have 20 minutes of demonstrations followed by a hands on session. The whole session will be documented on video and via history files, that will be provided for further reference.
We are three more or less python experienced people, so you will have a good chance to get your initial problems solved right away.
We promise you that after 30 minutes you will be able to do your daily Matlab work in Python, anytime, anywhere and independent of any licensing issues, and, perspectively, more efficiently and with more fun.
You just have to bring your (or any) laptop with python and Ipython available***. See http://python.org/download/ and http://goo.gl/DOLge for an installation guide.
To get a general overview of the benefits of Python, please see the slides of the last year's talk on python.
***Actually, [I]python comes to your machine with the internet: Sign up at http://www.pythonanywhere.com , to have Python anywhere, where you have internet, without installing anything.
And here are the screencasts from the session
1. Hands on numpy and ipython
2. ipython startup files and profiles
Introduction to FEniCS
Nov 26, Nico Schlömer
The FEniCS Project is a collection of free software with an extensive list of features for automated, efficient solution of differential equations. In the seminar, we'll use the Python interface of FEniCS and go through a bunch of examples, from simple (Poisson equation with Dirichlet conditions) to more involved things (curl curl, Nedelec elements, fancy boundary conditions,...).
Check out the [slides] and some code of the presented examples.
APIs for Parallel Programming
Nov 12 and 19, Wolfgang Welz
Several years ago single processor speeds have stagnated; the increase in transistor density, however, still continues. These additional transistors are used to put multiple complete processors on a single chip. Since no automated methods exist for converting a serial into a parallel program, implementing a parallel version is the only option left to speed up a single program. Fortunately, several interfaces have been developed to simplify this step for the programmer.
In this talk, we will give an overview as well as usage examples for the most important APIs in this context.
The topic will be divided into two parts:
The first part will give an general overview of parallel programming and different parallel system architectures. It will then focus on APIs for shared memory multi-core systems, namely OpenMP and Threads.
The second part of this talk is about programming on graphics cards with OpenCL/CUDA and about message passing using MPI. [Slides]
Scientific computing basics in Python
June 13, André Gaul
Python is a universal programming language that gains more and more attention in academia. It is is easy to read and write and is highly extensible through thousands of modules -- so you don't have to reinvent the wheel each day. The modules "numpy" and "scipy" provide scientific computing functionality (similar to MATLAB's) in Python. Python is free software (free as in freedom) and allows you to write clean, maintainable, portable, efficient and extensible code (even C-code can be integrated easily). I will give a brief introduction to Python before showing how some typical "MATLAB-tasks" can be carried out more elegantly in Python (aka MATLAB2Python).
Files and links:
- presentation slides
- fun01basics.py
- fun01basics.m
- fun02arguments.py
- fun02arguments.m
- Learn Python the hard way! (free online book; make sure you read the advice at the end!)
- Numpy for MATLAB users
- SciPy lectures
- Getting Started With Python in HPC
- Dive into Python 3
Hands on Paraview
June 7, Jan Heiland, Hands on Paraview
Paraview, cf. www.paraview.org, is a powerful open source software for visualization of data. Once you have put aside your qualms of conscience about the background of the developers and once you have your data imported to Paraview, you can use a variety of tools and filters for visualization, exploration and further processing of your data as identifying streamlines, iso-surfaces and exporting screenshots and video sequences for time dependent data.
The input format .vtk for Paraview is easy to handle, but not so immediate to understand.
I will demonstrate some of the basic features of Paraview for 2D and 3D data and try to explain the structure of a vtk file.
Also, I would like to take this opportunity to make up a collection of all "something2vtk.files" that are probably around here.
Smart and dirty: Latex tricks and code snippets evening, feat. inverse search for Okular and Kile or Vim
February 16, Jan Heiland and Everyone
Inverse and forward search (IFS) for documents compiled in LaTeX is readily available for most editors and most viewers. IFS stands for the jumping from a line in the source code directly to the corresponding line in the output and vice versa. This feature makes editing LaTeX documents as comfortable as, say, editing files in MS Word.
We present this functionality and the few configuration steps that make it run for the editors Kile or Vim in combination with the viewer Okular. [Slides]
Some useful tools and code snippets for LaTeX editing:
Latexdiff - combines two versions of a .tex file and makes the differences easily visible in the output.
kdiff3 - a GUI for merging two or three versions of any txt file. If one specifies a parent file, independent changes in the other files are processed automatically. Conflicts are highlighted and can be solved by hand.
matrix2latex can convert matrix data from MATLAB into a table in LaTeX - mat2lat.m into a matrix in LaTeX math environment. You may also want to check the 'latex' command in MATLAB that can additionally handle variables and symbolic operations.
How to TikZ?
February 9, Jan-Philipp Kappmeier
TikZ ist kein Zeichenprogramm, but it still allows to create nice and professional looking pictures. With this nice Latex package brought tu us by Prof. Till Tantau, we can improve the quality of our talks and papers. Additionally to TikZ the PGF library provides a broad variety of useful functions.
Basic and more sophisticated features are presented. This will include simple drawing functions, coordinates and plotting of data. The talk is intended to give an overview of what is possible (and how easy it is!) After that, additional help can be easily found in the terrific TikZ & PGF manual.
[Slides] of the talk.
Matlab Unit Tests
February 2, Federico Poloni
Unit testing is the practice of writing additional routines to check that your code works properly, and running them automatically. Today many programmers believe that, in most projects, investing some minutes and adding tests will save you lots of time in the long run. In this seminar, we will quickly introduce unit testing for the busy Matlab user, and present xUnit, a library for doing unit tests in Matlab. It will also be an occasion to discuss together some good Matlab coding practices. Some of the content will (hopefully) be useful even if Matlab is not your primary working language. [Slides] of the talk
git -- how to work on code/text/files in a team
January 26, Andre Gaul vs. Federico Poloni
paper.tex, paper1.tex, paper_old.tex, paper_new.tex, paper_sent_to_volker.tex, paper_new2.tex, ... STOP IT! We give a quick introduction to the revision control software git. This 'howto' will show how a git repository helps you to keep track of all previous versions of your files and to organize your work in a team. It is even very useful for size(team)==1, in particular if you work on several computers. We will explain the basic git commands (add, commit, diff, log, status, push, pull) and demonstrate one of the 'social coding' websites (bitbucket).
Feel free to download the [slides] (including a git cheatsheet on the last slide)!
If you put a file named .gitignore (note the '.') into your git folder, you can specify the file types you don't want to track with git there. Take this (LaTeX) suited [gitignore] file as a template.
Correct and efficient citation management with Latex, Bibtex, Jabref and the Internet
January 12, Jan Heiland
Hopefully everyone uses Bibtex to cite references in a LaTeX document. A good tool to manage the citations is Jabref. I will show a few features of Jabref that in conjunction with the \cite command in LaTeX and the management of literature lists. Additionally, we summarize how to obtain Bibtex entries and collect some good practices and tricks for citations in mathematical texts.
Various Materials:
The Slides of the talk
Jabref homepage with links for download for all operating systems
Bibtex homepage with documentation
minimal.tex and toolSem1.bib as template files to create the minimal example minimal.pdf
Links to databases that provide bib-entries for download
MathSciNet by the American Mathematical Society (AMS)
Zentralblatt (featuring a "TU-Berlin Button" if you call it from the TU network)
ScienceDirect lists articles from all fields of science
The database mathJourAbbrvJabRef.txt of math journals as listed by AMS ready for import to jabref to automatically abbreviate and unabbreviate journal names in your bib-file.