Ich möchte gerne den Befehl \blank bzw. \blank* global so umdefinieren, dass die Lösung in roter Textfarbe erscheint. Hier ein MBB

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[ngerman]{babel}
\usepackage{exsheets}

\SetupExSheets{%
 solution/print=true,
 question/print=true,
}

\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}
    \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}

Weiß jemand wie?

gefragt 27 Apr '17, 13:23

thor's gravatar image

thor
202716
Akzeptiert-Rate: 28%

bearbeitet 27 Apr '17, 14:31

saputello's gravatar image

saputello
10.8k104064


Das ist wohl ein fehlendes Feature in exsheets. Hier ist eine mögliche Umdefinition:

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{exsheets,xcolor}

\ExplSyntaxOn
\tl_new:N \l__exsheets_blank_format_tl

\cs_new_protected:Npn \__exsheets_write_blank:n #1 {#1}

\cs_set_protected:Npn \exsheets_write_blank:n #1
  {
    \group_begin:
      \tl_use:N \l__exsheets_blank_format_tl
      \__exsheets_write_blank:n {#1}
    \group_end:
  }

\keys_define:nn { exsheets / blank }
  {
    style          .choice: ,
    style / line   .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uline ,
    style / wave   .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uwave ,
    style / dline  .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \uuline ,
    style / dotted .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \dotuline ,
    style / dashed .code:n =
      \cs_set_eq:NN \__exsheets_write_blank:n \dashuline ,
    format         .tl_set:N = \l__exsheets_blank_format_tl
  }

\ExplSyntaxOff

\SetupExSheets{blank/style=line}

\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}[print]
    \blank[width=4\linewidth,linespread=1.5,format=\color{red}]{Die Lösung
      hier soll rot sein.}
\end{solution}

\end{document}

Die Linie der Lösung im Beispiel oben ist jetzt auch rot… Ich habe die Lösung nicht ausgiebig getestet und werde das Feature auch bei exsheets nicht einbauen, werde es aber bei xsim (auf GitHub) berücksichtigen.


Die xsim-Lösung:

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{xsim,lipsum,xcolor}

\xsimsetup{
  solution/print = true ,
  blank/filled-style = \underline{\textcolor{red}{#1}}
}

\begin{document}

\begin{exercise}[points=3]
  Erklären Sie den Begriff.

  \blank[width=4\linewidth,linespread=1.5]{}
\end{exercise}
\begin{solution}
  \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}

alt text

Permanenter link

beantwortet 27 Apr '17, 19:25

cgnieder's gravatar image

cgnieder
20.8k193463
Akzeptiert-Rate: 60%

bearbeitet 09 Mai '17, 14:51

Clemens, das funktioniert bis jetzt gut.

(27 Apr '17, 20:21) thor

Du kannst dir einen Stil definieren:

Edit: Wenn du die Linien erhalten willst, kannst du \uline noch hinzufügen.

Öffne in Overleaf
\documentclass{scrartcl}
\usepackage{xcolor}
\usepackage[ngerman]{babel}
\usepackage{exsheets}

\SetupExSheets{%
 solution/print=true,
 question/print=true,
}

\ExplSyntaxOn

\keys_define:nn { exsheets / blank }
  {
    style / color .code:n =
      \cs_set:Nn \exsheets_write_blank:n {\textcolor{#1}{##1}} ,

  }      
\ExplSyntaxOff

\SetupExSheets{blank / style /color =red}
\begin{document}

\begin{question}{3}
    Erklären Sie den Begriff.

    \blank[width=4\linewidth,linespread=1.5]{}
\end{question}

\begin{solution}
    \blank[width=4\linewidth,linespread=1.5]{Die Lösung hier soll rot sein.}
\end{solution}

\end{document}
Permanenter link

beantwortet 27 Apr '17, 16:12

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.4k23
Akzeptiert-Rate: 51%

bearbeitet 27 Apr '17, 18:53

Danke, funktioniert.

(27 Apr '17, 16:49) thor

Ich war zu schnell, bei der Definition sind die Linien weg, [style=line]. Könnte man händisch hinzufügen bei über 200 \blank bzw. \blank* aber sehr umständlich. Wie kann man das global noch hinzufügen?

(27 Apr '17, 18:41) thor
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×10

gestellte Frage: 27 Apr '17, 13:23

Frage wurde gesehen: 3,287 Mal

zuletzt geändert: 09 Mai '17, 14:51