texstudio-org / texstudio-org/texstudio

Synctex backward search targets wrong line when using "marginfix" package.

Open
#342 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
3.6k
Forks
403
Avg merge
3h 14m
Merged PRs (30d)
12

Description

When the marginfix package is loaded, which turns \marginpars into floats in order to prevent them from sticking out at the end of the page, backward search gets thrown off with the builtin viewer, targetting a line far below the actual source line.

  • It is possible, that the issue only occurs in combination with equations; Removing the equation in the example document below causes synctex to work fine again.

  • The issue does not occur, when backward search is triggered from Sumatra PDF. This probably indicates that the issue is specific to the internal viewer, rather than the marginfix package?

  • The issue occurs for all paragraphs, whose vertical positions overlap even slightly with the marginpar.

Example Document

image

\documentclass[12pt]{article}
\usepackage[scale=0.9,left=1cm,right=5cm,marginparwidth=4cm]{geometry}
\usepackage{marginfix}

\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut odio
dapibus, dapibus risus id, mattis justo. Class aptent taciti sociosqu
ad litora torquent per conubia nostra, per inceptos himenaeos.
Pellentesque rhoncus sem vitae enim sagittis facilisis. Sed bibendum
sem nec enim vehicula venenatis. Nam id semper massa, ut hendrerit
erat.
\begin{equation}
  Backward~search~here~ends~up~at~\backslash end\{document\}
\end{equation}
\marginpar{Vivamus in varius lacus. Morbi porta dictum odio nec
  rutrum. Vivamus sapien leo, porttitor non scelerisque pulvinar,
  suscipit vel odio. Nam fringilla diam porttitor risus sollicitudin,
  quis pretium odio mollis. Nunc gravida sollicitudin augue, non
  hendrerit neque. }

\textbf{As does backward search on this paragraph.}
Sed lacinia eu
libero eu mollis. Sed et tincidunt sapien. In imperdiet nec diam a
gravida. Donec in diam eu mi iaculis sollicitudin a at magna. Nulla ut
ultrices metus. Mauris erat ex, placerat sit amet placerat non,
pretium tincidunt lectus. Aliquam a tristique turpis, sed iaculis
lectus. Nullam fringilla tincidunt nisi a egestas. Etiam commodo
viverra est ut sagittis. Vestibulum id pulvinar orci.

\textbf{Or any other paragraph on a height with the marginpar.}
Sed lacinia eu
libero eu mollis. Sed et tincidunt sapien. In imperdiet nec diam a
gravida. Donec in diam eu mi iaculis sollicitudin a at magna. Nulla ut
ultrices metus. Mauris erat ex, placerat sit amet placerat non,
pretium tincidunt lectus. Aliquam a tristique turpis, sed iaculis
lectus. Nullam fringilla tincidunt nisi a egestas. Etiam commodo
viverra est ut sagittis. Vestibulum id pulvinar orci.

Sed lacinia eu
libero eu mollis. Sed et tincidunt sapien. In imperdiet nec diam a
gravida. Donec in diam eu mi iaculis sollicitudin a at magna. Nulla ut
ultrices metus. Mauris erat ex, placerat sit amet placerat non,
pretium tincidunt lectus. Aliquam a tristique turpis, sed iaculis
lectus. Nullam fringilla tincidunt nisi a egestas. Etiam commodo
viverra est ut sagittis. Vestibulum id pulvinar orci.


\textbf{Here syncte works correctly again.}
Sed lacinia eu
libero eu mollis. Sed et tincidunt sapien. In imperdiet nec diam a
gravida. Donec in diam eu mi iaculis sollicitudin a at magna. Nulla ut
ultrices metus. Mauris erat ex, placerat sit amet placerat non,
pretium tincidunt lectus. Aliquam a tristique turpis, sed iaculis
lectus. Nullam fringilla tincidunt nisi a egestas. Etiam commodo
viverra est ut sagittis. Vestibulum id pulvinar orci.
\end{document}
Environment
  • TeXstudio: 2.12.10
  • Qt: Qt Version 5.8.0, compiled with Qt 5.8.0 R
  • OS: Windows 10 (winver 1803)
  • TeX distribution: Miktex

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the example LaTeX document and the listed TeXstudio, Qt, Windows, and MiKTeX environment. Compare backward search in the builtin viewer with Sumatra PDF, then trace the internal viewer's SyncTeX target handling; done means affected paragraphs and the equation resolve to their correct source lines.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, latex
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.