How to disable automatically insert linebreak in need?

Assuming, you’re using a latex shortcode, the following should do what you’ve asked for:

function leave_latex_alone($content) {
    $new_content="";
    $pattern_full="{(\[latex\].*?\[/latex\])}is";
    $pattern_contents="{\[latex\](.*?)\[/latex\]}is";
    $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);

    foreach ($pieces as $piece)
        if (preg_match($pattern_contents, $piece, $matches)) $new_content .= $matches[1];
        else $new_content .= wptexturize(wpautop($piece));

    return $new_content;
}

remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');

add_filter('the_content', 'leave_latex_alone', 99);

This is an adapted version of some code found here. However, I did not test the code.

tech