
직장과 집에서 두 대의 다른 컴퓨터를 사용하여 때로는 한 컴퓨터로 논문을 작성하고 때로는 다른 컴퓨터로 논문을 작성합니다. 대부분의 경우 두 버전은 일관성이 있지만 알고리즘의 경우 동일한 코드가 두 시스템에서 서로 다른 출력을 제공한다는 것을 알았습니다. 특히 다음 코드를 컴파일하면:
\begin{algorithm}[!t]
\caption{The GaussSieve algorithm}
\begin{algorithmic}[1]
\State Initialize an empty list $L$ and an empty stack $S$
\Repeat
\State Get a vector $\vec{v}$ from the stack (or sample a new one)
\For{\textbf{each} $\vec{w} \in L$}
\State Reduce $\vec{v}$ with $\vec{w}$
\State Reduce $\vec{w}$ with $\vec{v}$
...
그러면 한 컴퓨터에서 다음을 얻습니다.
그리고 다른 것을 컴파일하면 다음과 같은 결과를 얻습니다.
즉, 한 컴퓨터에서는 출력에 수평선이 있고(내 생각에는 그래야 한다고 생각함) 다른 컴퓨터에서는 그렇지 않습니다. 두 컴퓨터 모두에서 12개의 다른 패키지와 함께 algorithmicx
및 패키지를 사용합니다 .algpseudocode
그래서 내 질문은: 출력을 일관되게 만들려면 어떻게 해야 합니까? 특히, 두 컴퓨터 모두에 수평선을 추가하려면 어떻게 해야 합니까? 두 컴퓨터 모두 강제로 수평선을 출력하도록 사용할 수 있는 간단한 명령이 있습니까? 아니면 동일한 .sty 파일을 일부 폴더에 넣는 등 두 컴퓨터가 동일한 버전의 패키지를 사용하도록 강제할 수 있습니까?
추가적으로: 캡션과 첫 번째 줄 사이의 간격은 첫 번째 예보다 두 번째 예에서 더 큽니다. 이로 인해 두 컴퓨터의 페이지 번호가 달라집니다(첫 번째 경우에서는 한 섹션이 페이지 내에 딱 맞고 두 번째는 그렇지 않습니다).
미리 감사드립니다!
답변1
패키지를 업데이트했지만 algorithmicx
도움 algorithms
이 되지 않았지만 실제로 문제는 한 시스템에서 패키지 중 하나가 오래되었다는 것입니다.
두 시스템의 MiKTeX 패키지 관리자에서 패키지 날짜를 철저하게 검색/비교한 후 한 시스템에서 패키지의 caption
날짜가 다른 시스템과 다르다는 것을 발견했습니다. 이전 버전을 제거하고, 저장소를 동기화하고, 최신 버전이나 이 패키지(2013-05-21 날짜)를 설치하면 문제가 해결되었습니다.