Anzeige:
Ergebnis 1 bis 12 von 12

Thema: Korrekturversion / Track changes

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51

    Korrekturversion / Track changes

    Hi!

    Da für Gutachter ganz angenehm suche ich nach einer Möglichkeit ausgehend von einer bestimmten semi-finalen Version meines Dokumentes Korrekturversionen zu erstellen, d.h. Versionen in welchen der Diff zur jeweiligen Vorversion sichtbar wird (ähnlich wie man das von Track Changes in Word kennt).

    Die Markierungen sollten im PDF sichtbar werden.

    Am Ende müssen, zur Erstellung der finalen Version, die Korrekturanmerkungen auch wieder einfach entfernbar sein.

    Ich nutze übrigens zur Erstellung des Gesamtdokumentes viele einzelne tex files die sich gegenseitig includen.
    Es wäre also toll wenn das Tool diese includes automatisch berücksichtigen würde.

    Wie macht man das am besten?

    Über die Suche om Forum habe ich nichts gefunden.
    Via Google habe ich http://www.ctan.org/tex-archive/support/latexdiff und http://trackchanges.sourceforge.net/ gefunden.

    Empfehlungen?
    Geändert von AnNaMF (21-04-2012 um 16:31 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Nachtrag:
    Da ich auch anzeigen können möchte welche Änderung von welchem Gutachter kam, tendiere ich zu TrackChanges - seidenn jmd. kennt was besseres.

    Update:
    Ausprobiert und für relativ unbrauchbar befunden; TrackChanges zerschiesst alle Fußnoten und sorgt aus irgendeinem Grund dafür dass sich die Schriftarten ändern.
    Vllt habt Ihr ja einen besseren Tipp.
    Geändert von AnNaMF (21-04-2012 um 17:31 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Du kannst dir mal diesen Link ansehen, ich hatte mal ein ähnliches Problem und habe einen entsprechenden Code selbst geschrieben, vielleicht passt das für deine Anforderungen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Hi!

    Das ist fast genau was ich will.
    Ich habs schon am laufen, würde aber gerne eine Kleinigkeit ändern, aber bin mir nicht sicher wie ich das am besten mache.

    Ich möchte die Farben der Boxen am Rand nicht von der Art der Änderung abhängig machen, sondern vom Gutachter, dh Gutachter 1 soll überall grüne Markierungen am Rand sehen, Gutachter 2, rote usw.
    Der Text hingegen soll rot sein für Einfügungen, blau für xyz.

    So, es geht also nur noch darum die Farbe der Box von einer Variable abhängig zu machen.

    Für den add Befehl ist das ja so definiert:

    Code:
    % Einfügen-Funktion \add{eingefügter Text}{Anmerkung/Kommentarnummer}
    \makeatletter
    \if@todonotes@disabled%
    \newcommand{\add}[2]{#1}
    \else% \if@todonotes@disabled
    \newcommand{\add}[2]{%
       \textcolor{red}{%
          #1%
          \todo[linecolor=red, backgroundcolor=red!10,bordercolor=red]{\##2}%
       }%
    }
    \fi
    \makeatother
    Meine Idee war nun sowas zu erlauben:

    Code:
    \setreviewer{Klaus}{green}
    Als Definition dachte ich an sowas:

    Code:
    \newcommand{\setreviewer}[2]{%
    	\newcommand{\#1}{#2}%
    }
    Und das wollte ich dann quasi in dem add Befehl zum dynamischen Setzen der Farbe nutzen:

    Code:
    \makeatletter
    \if@todonotes@disabled%
    \newcommand{\add}[2]{#1}
    \else% \if@todonotes@disabled
    \newcommand{\add}[2]{%
       \textcolor{red}{%
          #1%
          \todo[linecolor=\#2, backgroundcolor=red!10,bordercolor=red]{\##2}%
       }%
    }
    \fi
    \makeatother
    Aber so geht es wohl nicht ganz.
    Wie kann ich das umsetzen?

    Ich denke was nicht funktioniert ist:

    Code:
    \newcommand{\#1}{#2}%
    Eigentliche suche ich ja nur ein key->value Mapping.

    Sorry, "code" recht wenig bis garnicht mit Latex
    Geändert von AnNaMF (21-04-2012 um 21:14 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Okay, ich bin 1 Schritt weiter:

    Code:
    \makeatletter
    \newcommand{\setreviewer}[2]{%
    	\@namedef{reviewer#1}{#2}%
    }
    \makeatother
    Aber was noch nicht funktioniert ist das \reviewer#1 dann irgendwo zu bentzen, also hier:

    Code:
    \makeatletter
    \if@todonotes@disabled%
    \newcommand{\add}[2]{#1}
    \else% \if@todonotes@disabled
    \newcommand{\add}[2]{%
       \textcolor{red}{%
          #1%
          \todo[linecolor=\reviewer#1, backgroundcolor=red!10,bordercolor=red]{\##2}%
       }%
    }
    \fi
    \makeatother
    Ideen?

  6. #6
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Habs doch noch hinbekommen:

    Code:
    % Einfügen-Funktion \add{eingefügter Text}{Anmerkung/Kommentarnummer}
    \makeatletter
    \if@todonotes@disabled%
    \newcommand{\add}[2]{#1}
    \else% \if@todonotes@disabled
    \newcommand{\add}[2]{%
       \textcolor{red}{%
          #1%
          \todo[linecolor=\@nameuse{reviewer#2}, backgroundcolor=red!10,bordercolor=red]{\##2}%
       }%
    }
    \fi
    \makeatother
    Falls jmd. interessiert ist kann ich den Code online stellen sobald ich fertig bin?

  7. #7
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Wäre super, wenn du das online stellen könntest!
    Vielleicht sollte man daraus doch mal noch ein Package machen, scheint, als wäre ich da nicht die Einzige, die sowas ab und an braucht.

  8. #8
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Gerne.

    Ich hänge nur noch an einer Stelle.
    Ich würde gerne die Kommentare je Gutachter hochzählen.

    Dazu definiere ich nun auch noch Counter pro Gutachter:

    Code:
    % Festlegen der Reviewerfarbe \setreviewer{ReviewerID}{Farbe}
    \makeatletter
    \newcommand{\setreviewer}[2]{%
       \@namedef{reviewer#1}{#2}%
       \@namedef{creviewer#1}{creviewer#1}%
       \newcounter{\@nameuse{creviewer#1}}%
       \setcounter{\@nameuse{creviewer#1}}{1}%
    }
    \makeatother
    Der Teil funktioniert auch.
    Aber ich schaffs nicht auf den Wert zuzugreifen.

    Probiert habe ich:

    Code:
    \todo[linecolor=\@nameuse{reviewer#1}, backgroundcolor=\@nameuse{reviewer#1}!10,bordercolor=\@nameuse{reviewer#1}]{#1: \thecreviewer#1}%
    Aber \thecreviewer#1 wird nicht zu \thecreviewerKlaus oder zumindest akzeotiert das Latex so nicht. Schreibe ich von Hand \thereviewerKlaus hin funktioniert es.

    Ideen?

  9. #9
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Okay, der Teil ist auch gelöst:

    Code:
    \todo[linecolor=\@nameuse{reviewer#1}, backgroundcolor=\@nameuse{reviewer#1}!10,bordercolor=\@nameuse{reviewer#1}]{#1: \arabic{\@nameuse{creviewer#1}}}%
    Gesamtlösung dann die Tage...

  10. #10
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Anbei die finale Lösung wie ich sie mir am besten gefällt...

    Usage:

    - Das File einbinden (Einzeiler) (wer ein Package draus machen möchte -> gerne)
    - Die Gutachter und die Farbe definieren mit welcher deren Changes markiert werden sollen, z.B. so:

    \setreviewer{A}{red}
    \setreviewer{B}{green}
    \setreviewer{C}{blue}
    \setreviewer{D}{black}

    Das war es eigentlich schon; danach einfach im Text (unter Nutzung entsprechender Tex Befehle) die Changes umsetzen.

    - Im erzeugten PDF werden dann am Seitenrand farbige Markierungen gesetzt so dass jeder Reviewer sofort die für ihn relevanten Changes erkennen kann
    - Zusätzlich werden die Changes selbst im Text farbig markiert (rot = hinzugefügt, blau = gelöscht, usw.); die Farbcodierung hat nichts mit der Farbcodierung für die Gutachter zu tun...
    - Zusätzlich gibt es einen Index mit allen Changes wobei jeder Eintrag auch klickbar ist (schnelles Navigieren)
    - Changes werden pro Gutachter hochgezählt (hilfreich wenn man zB kommunzieren will dass man Change #17 nicht gut umgesetzt findet etc.)
    - Durch einfaches setzen einer Variable kann man alle Changes "accepten" und das finale Druckdokument erzeugen

  11. #11
    Registrierter Benutzer
    Registriert seit
    28.01.2012
    Beiträge
    51
    Kleine Korrektur.
    Geändert von AnNaMF (22-04-2012 um 02:21 Uhr)

  12. #12
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Danke fürs Hochladen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •