When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Although this project has no official Code of Conduct, we ask you to be kind, and respectful in your comments and request. Remember that this is an effort from a group of volunteers, so be patient...
If you'd like to contribute changes, enhancement an bug-fixes, you are welcome to do so! The preferred way is a pull request (see https://help.github.com/articles/about-pull-requests/), which is the best way to preserve authorship (see appendix 2) .
The pull request should:
- be based on the
master
branch of thecircuitikz
repository; - have a text explaining the content of the request clearly;
- be specific: please avoid a big pull request touching a lot of different places and with a lot of different objectives; that would make the history unclear;
- if the pull request is an enhancement, it should add the correspondent info to the manual (
circuitikzmanual.tex
in thedoc
directory); please check that it compiles correctly against your changes (see appendix 1).
Just open an issue. We will try to help you the best we can.
Again, just open an issue. But another way of finding answer is to ask a good question on TeX-LaTeX stack exchange using the circuitikz
tag.
To compile your manual against your version/fork of circuitikz
you can use make manual
in the root directory; this needs pandoc
to be installed, and will run twice in order to completely generate the document cross-references.
To rapidly compile just once, to check you have not introduced any error, at least in Linux computers, you can use
make test-compile
...please adapt it for your OS.
The best way to start learning GIT is reading Pro GIT, a really nice book about it. But basically, a possible workflow is:
-
fork the repo in your github account and clone it locally.
-
go to the clone and setup the upstream reference:
git remote add upstream https://github.com/original/original.git
-
to keep the repo synced:
git checkout master git fetch upstream #... check git merge upstream/master
-
to contribute create a local branch and push it
git checkout -b mybranch
-
code code code... if while you are coding, the master changes, then do step 3 to keep in sync, and rebase your branch before pushing it with
git checkout -b branch; git rebase master
, and continue. -
push it on your repo:
git push -u origin mybranch
-
go to the
circuitikz
github page (the main one) and now you can generate the pull request -
after/if the pull is accepted, optionally tidy up removing branches
git branch -d mybranch git push --delete origin mybranch