%20%EB%AA%85%EB%A0%B9%EC%9D%80%20latex%EA%B0%80%20%ED%91%9C%EC%8B%9C%ED%95%A0%20%EB%95%8C%20%EC%97%B0%EA%B2%B0%EB%90%9C%20%EB%8B%A4%EB%A5%B8%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EC%88%98%ED%95%99%20%EB%AA%A8%EB%93%9C%EB%A1%9C%20%EB%B3%80%ED%99%98%ED%95%A9%EB%8B%88%EB%8B%A4..png)
라텍스에 sagetex 사용; latex() 명령을 사용하면 해당 용어에 연결된 모든 문자열이 문자열이 아닌 수학 모드로 변환되는 것으로 보입니다. 아래 MWE를 참조하세요.
\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sagesilent}
StartStr = 'Beginning string'
EndStr = 'trailing string.'
WorkingStr = StartStr + " and "+ EndStr
BrokeStr = StartStr + latex(11/2) + EndStr
\end{sagesilent}
Notice that "$\sage{StartStr}$", "$\sage{EndStr}$", and "$\sage{WorkingStr}$" are all printed as text.
But "$\sage{BrokeStr}$" converts the entire string into math-mode and breaks everything.
\end{document}
Sage가 전체 문자열을 라텍스 수학 모드로 변환하는 것을 막고 라텍스 내용의 올바른 수학적 표시를 유지하면서 전체 문장을 하나의 변수에 저장할 수 있는 방법이 있습니까(예: 대신 실제 분수로 표시) 문자열 '11/2').
내 구체적인 요구 사항은 다음과 같습니다.
- 적절하게 렌더링된 수학과 문자열을 연결하고(반드시 latex() 명령을 통할 필요는 없지만 이해가 되는 다른 옵션은 보이지 않습니까?) 모든 개별 조각을 올바르게 렌더링합니다. 문자열은 문자열로, 수학은 실제 수학으로
- 위의 내용을 저장해 두세요.단일 세이지 변수; 결과를 얻기 위해 어떤 순서로 호출되는 일련의 변수를 갖는 것과 반대입니다.
답변1
CTAN에 게시된 문서에 따르면여기\sage
, 6페이지부터 매크로 , \sagestr
, \percent
및 가 있는 것을 볼 수 있습니다 \sageplot
. 매크로 \sage
는 숫자 데이터용이고 \sagestr
문자열 데이터용입니다. 을 사용하도록 코드를 조정했습니다 \sagestr
. (a = 11/2)에서 숫자 데이터를 작업하기 위해 슬래시가 문제를 일으키지 않도록 원시 문자열을 사용하여 문자열에 추가했습니다. 이는 LaTeX 분수를 만드는 데 사용할 정수를 결정하기 위해 숫자에 numerator()
및 를 사용하여 수행됩니다 .denominator()
\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sagesilent}
a = 11/2
StartStr = 'Beginning string'
EndStr = 'trailing string.'
WorkingStr = StartStr + " and "+ EndStr
BrokeStr = (StartStr + r" $\frac{%s}{%s}$ " + EndStr)%(a.numerator(),a.denominator())
\end{sagesilent}
Notice that \sagestr{StartStr}, \sagestr{EndStr}, and \sagestr{WorkingStr} are all printed as text.
Now \sagestr{BrokeStr} prints the entire string.
\end{document}
Cocalc의 출력은 다음과 같습니다.
편집: 귀하의 의견에 문자열에 분수를 삽입하라고 명시되어 있으므로 그렇게 하기 위해 코드를 편집했습니다.