latex(VAR) 명령은 latex가 표시할 때 연결된 다른 문자열을 수학 모드로 변환합니다.

latex(VAR) 명령은 latex가 표시할 때 연결된 다른 문자열을 수학 모드로 변환합니다.

라텍스에 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').

내 구체적인 요구 사항은 다음과 같습니다.

  1. 적절하게 렌더링된 수학과 문자열을 연결하고(반드시 latex() 명령을 통할 필요는 없지만 이해가 되는 다른 옵션은 보이지 않습니까?) 모든 개별 조각을 올바르게 렌더링합니다. 문자열은 문자열로, 수학은 실제 수학으로
  2. 위의 내용을 저장해 두세요.단일 세이지 변수; 결과를 얻기 위해 어떤 순서로 호출되는 일련의 변수를 갖는 것과 반대입니다.

답변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의 출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

편집: 귀하의 의견에 문자열에 분수를 삽입하라고 명시되어 있으므로 그렇게 하기 위해 코드를 편집했습니다.

관련 정보