Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
etoolbox string test 질문드립니다
2021.03.24 14:32
https://www.overleaf.com/read/vvvpwjcbnjrt
Menu -> Download (Source) 하시면 mwe 다운로드 가능하십니다
\SetValue (\pgfkeyssetvalue) 를 설정하여
book key를 problem value에 대응시켰을 때에는 원하는 대로 true로 판정되어서 잘 작동하는데
book key를 solution value나 teacher value에 대응시켰을 때에는 true로 판정되질 않습니다
오타는 없는 것 같은데.. 뭐가 문제인지 모르겠네요. 고견 부탁드립니다. 감사합니다.
댓글 11
-
yihoze
2021.03.24 15:52
-
Kriss
2021.03.24 18:23
problem이면 문제를
solution이면 해설을
teacher면 문제+해설을 출력하는 것이 의도였습니다.
-
noname
2021.03.24 16:31
etoolbox의 \ifcsstrequal은 첫 번째 인자 매크로만 확장합니다. 대략 눈으로 살펴봤는데 이런 목적이라면 xstring 패키지의 \IfStrEq가 더 적당하지 않을까 싶습니다. \usepackage{xstring}하고 \ifcsstrequal을 \IfStrEq로 일괄변환하면 어떻게 되는지 확인해보세요. (expl3를 쓸 게 아니라면...)
(저로서는 pgfkey를 쓰는 이유를 납득하기 어렵습니다만....)
-
Kriss
2021.03.24 18:24
시도해보겠습니다 감사합니다
-
yihoze
2021.03.25 09:16
이게 원하시는 게 맞는지 모르겠군요. 첨부한 소스 보세요.
-
yihoze
2021.03.25 09:21
이 글의 마지막 구절이 애매하군요. \QuestionSetup{1, 3, 5, 11, 27, ...} 같은 식으로 만들어진 여러 문제 세트들 가운데 일부를 선택하는 방법도 만들 수 있을 것 같다는 의미입니다.
-
yihoze
2021.03.25 09:30
소스 주석에서 이것은 잘못된 것이니 무시하세요.
% \NewConditionals{command}{environment}{setup}
이게 맞습니다.
% \NewConditionals{command}{setup}[environment] -
noname
2021.03.25 12:51
yihoze님의 해법은 매력적입니다.
저는 좀더 고전적인 방법을 생각해보았습니다. overleaf에 있는 문항 데이터를 건드리지 않고 활용한다고 할 때 예시하는 코드는 이전까지 주로 쓰던 해결책입니다.
요즘이라면 expl3의 keys와 conditionals를 사용해서 하려 들 거 같은데 그러면 문항 데이터를 부득이 조금 수정해야 할 것 같습니다.
-
yihoze
2021.03.25 13:47
기존 자료야 찾기-바꾸기 신공을 쓰면 되지 않겠습니까? ^^ 문답을 저장하고 가져오는 명령도 만들어 봤습니다.
-
yihoze
2021.03.25 14:38
2011PO01.tex의 구조가 이와 같은데
\SetValue{contents}{...}\SetValue{solution}{...}\ProcessData전반적인 과정이 "앞의 것은 문제이고, 뒤의 것은 해답이니, 조건에 따라 처리하라"는 것으로 보입니다.
이것은 데이터 파일인데 그냥 하나로 \QA{...}{...} 이렇게만 해도 충분하지 않을까 싶습니다. 물론 \QA 명령을 잘 설계해야겠지요. 만약 contents, solution 말고도 조건들이 더 있다면 별표 따위를 (\QA*|^) 추가하면 되지 않을까 합니다.
하다 보니, 선생-학생 조건뿐이라면 이렇게 복잡하게 할 것 없이, 해답만 show/hide 되게 하면 되는 거 아닌가 싶네요. 그래서 마지막으로 데이터 형식에 초점을 맞추어 만들어봤습니다.
\ShowCorrectAnswer\QA{1}{Eighteen thousandths, written as a decimal, is:}{0.0018,0.018,0.18}{1} -
Kriss
2021.03.26 16:14
모두 감사드립니다.
도움받은만큼 유용하고 깔끔한 템플릿 만들어서 공유하도록 하겠습니다!
설정에 따라 파일 삽입을 제어하려는 목적으로 만든 코드 정도밖에 이해하지 못하겠네요. 의도한 프로세스가 뭔지 설명해 주세요.